在Java并发编程中我们往往需要一些工具类来实现我们的功能,JDK给我们提供了一些工具类,合理地使用它们能帮忙我们快速地完成功能。下面来学习一下这些工具类的使用吧!
一种方案是使用join梦见小男孩拉屎方法。在主线程中调用其它线程的join方法,每调用一个join,如果该线程没有结束主线程就会阻塞在这里。直到该线程结束主线程才变为运行态。关于join方法的介绍请参考Java并发之基础知识的最后一部分内容。
CycliBarrier这个单词的字面意思是可循环使用的屏障的。它的功能是:让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被阻塞的线程才能执行下去。
CB还提供了getNumberWating方法获取阻塞的线程数量。isBroken方法用来了解阻塞的线程是否被中断。一个线程被中断后其他线程的await会抛出异常,这时调用isBroken方法可以输出是否程被中断。
Exchanger可以用于线程间交换信息。它提供一个同步点,当两个线程都到达这个同步点时,它们的信息交换。只有一个到达时,它先等待,直到另一个线基本使用
网友评论 ()条 查看