![](https://i-blog.csdnimg.cn/direct/47f5a2a3cee3434cb584ac863879d341.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
并发编程
文章平均质量分 68
pcdd
有无相生,难易相成
展开
-
【Java并发编程】CountDownLatch
CountDownLatch是通过一个线程个数的计数器实现的同步处理操作,在初始化时可以为CountDownLatch设置一个线程执行总数,这样每当一个子线程执行完毕后都要执行减1操作,当所有的子线程都执行完毕后,CountDownLatch中保存的计数为0,则主线程恢复执行。本程序利用 CountDownLatch 定义了要等待的子线程数量,这样在该统计数量不为0的时候,主线代码暂时挂起,直到所有的子线程执行完毕(调用countDown()方法)后主线程恢复执行。CountDownLatch类常用方法。原创 2023-03-05 05:35:48 · 2094 阅读 · 1 评论 -
【Java并发编程】主线程等待子线程的多种方法
思路:所有任务提交后,调用线程池的shutdown()方法,然后在死循环里每隔几秒调用一次线程池的isTerminated()方法,判断所有线程在线程池关闭后是否都已完成。翻译为中文:如果所有任务在关闭后都已完成,则返回 true。1 部分案例使用线程池创建线程。方便起见使用Executors.newFixedThreadPool()方法创建一个固定大小的线程池。3 代码在main()方法中执行,出于方便演示,代码中有几处不规范的地方。缺点:若线程池中的任务完成耗时不确定,则不能及时执行主线程的任务。原创 2022-04-25 19:36:58 · 4328 阅读 · 2 评论