Java多线程4--线程池--Callable方法

1、主要流程、

Java多线程4--线程池--Callable方法_第1张图片

例子如下

package chen.thread.demo2;

import java.util.concurrent.*;

//线程创建方式三:实现callable接口
//callable的好处
//1.可以定义返回值
//2.可以抛出异常
//
public class TestCallThread  implements Callable {
    private String name;
    public TestCallThread(String name){
        this.name = name;
    }

    @Override
    public Boolean call() {
        // run方法线程体
        for (int i = 0; i < 10; i++) {
            System.out.println(name+"输出--"+i);
        }
        return  true;
    }

    public static void main(String[] args) throws ExecutionException, InterruptedException {

        TestCallThread threadtest1 = new TestCallThread("小明");
        TestCallThread threadtest2 = new TestCallThread("小陈");
        TestCallThread threadtest3= new TestCallThread("小王");
        //(1)创建执行服务:
        ExecutorService ser = Executors.newFixedThreadPool(3);
        //(2)提交执行
        Future r1 = ser.submit(threadtest1);
        Future r2 = ser.submit(threadtest2);
        Future r3 = ser.submit(threadtest3);
        //(3)获取结果
        boolean rs1 = r1.get();
        boolean rs2 = r2.get();
        boolean rs3 = r3.get();
        
        System.out.println(rs1);
        System.out.println(rs2);
        System.out.println(rs3);

        //(4)关闭服务
        ser.shutdown();

    }

}

3、输出结果

Java多线程4--线程池--Callable方法_第2张图片

你可能感兴趣的:(java)