84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
代码结构描述如下:
for (int i = 0; i < 5; i++) { new Thread(new Runnable(){}).start(); new Thread(new Runnable(){}).start(); }
for循环中的两个线程,前者是生产者,后者是消费者,他们通过定义一个:public static BlockingQueue taskQueue = new ArrayBlockingQueue(2500);联系起来,现在想for循环第一次执行完之后,两个线程的生产者全生产完数据,消费者全部消费完数据之后,再执行for循环的第二次循环。在对代码结构改动最小的情况下,我考虑了callable countdownlatch,都不太合适,有没有更好的解决方案呢?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
改造一下试试使用java.util.concurrent.CompletionService
改造一下试试使用java.util.concurrent.CompletionService