优艾设计网

for循环中异步转同步如何改造??

代码结构描述如下:

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,都不太合适,有没有更好的解决方案呢?


高震 优艾设计网_Photoshop问答 4小时前

这样的要求为毛要开线程


化一记忆奇 3小时前

优艾设计网_PS交流

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


坐看云海前世的深蓝色飒然风雪走 3小时前

优艾设计网_Photoshop交流

消费者全部消费完数据之后,再执行for循环的第二次循环,那你开线程的意义在哪里?,直接同步执行不就行了


坐看云海前世的深蓝色飒然风雪走 3小时前

优艾设计网_设计百科

生产->消费->生产->消费....


0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜