我们一起聊聊并发编程:同步工具类

网站建设2年前发布
19 0 0

Semaphore也就是信号量,提供了资源数量的并发访问控制。,使用场景:大学生到自习室抢座,写作业。,假设一个主线程要等待5个 Worker 线程执行完才能退出,可以使用CountDownLatch来实现。,该类用于协调多个线程同步执行操作的场合。,使用场景:10个工程师一起来公司应聘,招聘方式分为笔试和面试。首先,要等人到齐后,开始笔 试;笔试结束之后,再一起参加面试。,Exchanger用于线程之间交换数据。,用Phaser替代CyclicBarrier和CountDownLatch。,从JDK7开始,新增了一个同步工具类Phaser,其功能比CyclicBarrier和CountDownLatch更加强大。,特性1:动态调整线程个数,CyclicBarrier 所要同步的线程个数是在构造方法中指定的,之后不能更改,而 Phaser 可以在运行 期间动态地调整要同步的线程个数。,特性2:层次Phaser,多个Phaser可以组成如下图所示的树状结构,我们一起聊聊并发编程:同步工具类

© 版权声明

相关文章