单个的生产者-消费者模型
package com.ftf.thread.lock;
public class Factory {
private volatile boolean flag = true;
private Object obj = new Object();
public void setValue(){
synchronized (obj) {
try {
while(!flag){
obj.wait();
}
System.out.println("生产者生产数据......");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
flag = false;
obj.notify();
}
}
public void getValue(){
synchronized (obj) {
try {
while(flag){
obj.wait();
}
System.out.println("消费者消费数据....");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
flag = true;
obj.notify();
}
}
public static void main(String[] args) {
final Factory ft = new Factory();
Thread product = new Thread(new Runnable() {
@Override
public void run() {
while(true){
ft.setValue();
}
}
});
Thread cu