线程并发工具类

import java.util.concurrent.*;

CountDownLatch

简介

    用来同步线程任务,指定线程执行完毕后,再来执行接下来的任务。

使用
CountDownLatch countDownLatch = new CountDownLatch(3);//此处的数字3代表执行的任务组数

new Thread(new Runnable(){

    @override
    public void run(){
        tttt();
        countDownLatch.countDown();//运行一组任务,调用这个方法,数字3便会减一
    }

}).start();

countDownLatch.await();//直到执行了3次countDown(),才会执行下边的任务,执行的次数由申明CountDownLatch对象时候,传入的数字决定。

CyclicBarrier

简介

    一组任务全部完成后,再接下里继续执行下一组任务。

使用
  • public CyclicBarrier(int parties)
  • public CyclicBarrier(int parties, Runnable barrierAction)
CyclicBarrier barrier = new CyclicBarrier(3);
//数字3指定这一组中有多少个任务。

for(int i=0;i<3;i++){
    new Thread(new Runnable(){

        @override
        public void run(){
            ece();
            barrier.await();//一个任务执行完成,等待改组其他任务的执行
            www();//当其他任务都执行完成,才会继续都开始执行接下来的任务,也就是这里的www();
        }

    }).start();
}

    还可以设置一个栅栏,当所有任务完成后,运行该栅栏内容,然后再开始执行下一组任务。

CyclicBarrier barrier = new CyclicBarrier(3,new Runnable(){

    @override
    public void run(){
        system.out.println("第一组执行完了");
    }

});

... ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值