for循环中异步转同步如何改造?
高洛峰
高洛峰 2016-10-26 16:05:44
0
1
734

代码结构描述如下:

for (int i = 0; i < 5; i++) {
    new Thread(new Runnable(){}).start();
    new Thread(new Runnable(){}).start();
}

for循环中的两个线程,前者是生产者,后者是消费者,他们通过定义一个:
public static BlockingQueue<Object> taskQueue = new ArrayBlockingQueue<Object>(2500);
联系起来,现在想for循环第一次执行完之后,两个线程的生产者全生产完数据,消费者全部消费完数据之后,再执行for循环的第二次循环。
在对代码结构改动最小的情况下,我考虑了callable countdownlatch,都不太合适,有没有更好的解决方案呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
三叔

改造一下试试使用java.util.concurrent.CompletionService

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!