JAVA多线程Callable应用

package concurrent;

import java.util.Random;
import java.util.concurrent.*;

/**
 * Auth: zhouhongliang
 * Date:2019/8/1
 * 分配多个线程共同执行某个任务,等待子线程都结束,主线程才结束
 */
public class CallableDemo {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        ExecutorService executorService = Executors.newFixedThreadPool(3);
        CountDownLatch countDownLatch = new CountDownLatch(3);
        Future future1 = executorService.submit(new CallableTask(countDownLatch));
        Future future2 = executorService.submit(new CallableTask(countDownLatch));
        Future future3 = executorService.submit(new CallableTask(countDownLatch));
        System.out.println(future1.get());
        System.out.println(future2.get());
        System.out.println(future3.get());
        countDownLatch.await();
        executorService.shutdown();
    }
}
class CallableTask implements Callable{
    private CountDownLatch countDownLatch;

    public CallableTask(CountDownLatch countDownLatch) {
        this.countDownLatch = countDownLatch;
    }

    @Override
    public Integer call() throws Exception {
        int count = 0;
        final int random = new Random().nextInt(1000);
        for (int i=0;i

本文标题:JAVA多线程Callable应用
转载源于:http://csruizhi.cn/article/gjpchg.html
Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 重庆网站设计 成都网站制作 网站设计 营销型网站建设 定制网站设计 外贸营销网站建设 营销型网站建设 成都网站建设 高端定制网站设计 达州网站设计 泸州网站建设 成都网站建设 四川成都网站设计 成都网站设计制作公司 定制网站制作 手机网站建设套餐 企业网站建设 成都网站建设 app网站建设 成都网站建设 品牌网站建设 企业网站设计