/**
* 乙個執行緒作為生產者,乙個執行緒作為消費者。生產者和消費者在同時執行。
* 生產者每生產一次消費者就消費一次。生產和消費的數量用隨機數來表示。
* 要求:生產者的數量和上次消費後的剩餘數量和不大於1000.
* sleep:可以指定休眠的時間,如果沒有其他操作,那麼到點自然醒。
* 如果sleep有鎖資源,那麼不釋放**執行權,sleep是thread的類方法
* wait:可以指定也可以不指定休眠時間。
* 如果有所資源,那麼釋放鎖,也釋放執行權。
* 是屬於object的方法。使用等待喚醒機制是,和notify方法配合使用
* 呼叫等待喚醒內容鎖資源必須一致
*/public class demo
}class product catch (interruptedexception e)
} int max=1000-count;
int num=(int)(math.random()*(max+1));
count+=num;
system.out.println(thread.currentthread().getname()+":"+num+"緩衝池中剩餘資源:"+count);
flag=false;
notifyall();
} public synchronized void remove() catch (interruptedexception e)
} int num=(int)(math.random()*(count+1));
count-=num;
system.out.println(thread.currentthread().getname()+":"+num+"緩衝池中剩餘資源:"+count);
flag=true;
notifyall(); }}
class consumer implements runnable
@override
public void run() }
}class producer implements runnable
@override
public void run() }
}
java生產者消費者
題目 請用多執行緒實現乙個生產者類和乙個消費者類,生產者隨機生成20個字元,消費者將字元列印到控制台。class syncstackcatch interruptedexception e this.notify 通知其它執行緒把資料出棧 buffer index c 資料入棧 index 指標向上...
生產者消費者問題
public class producer consumer class godown public godown int num public synchronized void produce int n catch interruptedexception e curr num n syste...
生產者 消費者問題
在學習程序互斥中,有個著名的問題 生產者 消費者問題。這個問題是乙個標準的 著名的同時性程式設計問題的集合 乙個有限緩衝區和兩類執行緒,它們是生產者和消費者,生產者把產品放入緩衝區,相反消費者便是從緩衝區中拿走產品。生產者在緩衝區滿時必須等待,直到緩衝區有空間才繼續生產。消費者在緩衝區空時必 須等待...