我的程序动态生成4个线程
线程A和线程C负责生成数据
线程B和线程D负责接受数据并处理
A--C
B--D
他们之间不能交错
现在的问题是我在new这四个线程的时候分别设置线程名用于区别
但是我不知道该如何用wait()和notify()来控制指定的线程。
例如A在同步块中wait()之后,我想让C进入这个同步块并notify() A,而不是notify()其他线程
希望高手能给些代码例子,讲解清楚
线程A和线程C负责生成数据
线程B和线程D负责接受数据并处理
A--C
B--D
他们之间不能交错
现在的问题是我在new这四个线程的时候分别设置线程名用于区别
但是我不知道该如何用wait()和notify()来控制指定的线程。
例如A在同步块中wait()之后,我想让C进入这个同步块并notify() A,而不是notify()其他线程
希望高手能给些代码例子,讲解清楚
想让A生产,C消费,但是实际中D也会来A这里消费
java.util.concurrent.LinkedBlockingQueue 这个还不了解,我想至少把同步块这里搞清楚再看其他的
A生产出X,C消费X
B生产出Y,D消费Y呢?
我是循环生成的两组线程:
for(int i=0;i<2;i++)
{
生产者 n=new 生产者();
消费者 m=new 消费者();
产物 int a;
}
实例:1 生产者A->a1->消费者C
2 生产者B->a2->消费者D
我要如何管理好这四个线程做到他们互不干扰呢?
https://www.ibm.com/developerworks/java/library/j-5things4.html
http://www.ibm.com/developerworks/java/library/j-5things5.html