大家好,我是灰灰,今天来给大家介绍一下Java并发工具类CyclicBarrier。
CyclicBarrier是一种可以让多个线程依次执行的工具类,它的作用是通过AWT线程等待来实现线程阻塞,当等待的线程数量达到一定数量后再一起执行。这个数量可以通过构造方法传入。
通过构造方法举个例子,比如需要一起达到的线程数量是五个,现在开启四个线程。如果这四个线程没有使用到栅栏,那么无论怎样都会立即开始执行并结束执行。
如果开启了栅栏,可以使用await方法来等待。当等待的线程数量达到五个后,就可以开始执行任务了。
等待时如果数量没有达到默认传入的数量,就会一直阻塞。比如现在有四个线程,由于传入的栅栏数量是五,它们都会开始执行而不是等待,但它们都被阻塞在await方法中。
只有当等待的线程数量达到五个后,才会真正开始执行任务。可以通过主函数中的wait方法来等待。
当等待的线程数量达到五个后,就可以开始执行任务了。看,开始执行,结束执行。结束执行。
并且必须等待五秒后才能开始执行任务。如果在主线程中睡眠五秒,那么必须等待五秒才能开始执行任务。当等待的线程数量达到五个后,就可以开始执行任务了。
以上就是今天的视频内容,记得点赞、收藏和分享哦。如果有问题或建议,欢迎在评论区留言。我是灰灰,下期再见。