代码结构描述如下: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,都不太合适,有没有更好的解决方案呢?
添加回答
举报
0/150
提交
取消