📄 basket.java
字号:
/*
* Basket.java
*
* Created on 2007年9月21日, 上午12:16
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package producer_consumer_14;
/**
*
* @author Administrator
*/
public class Basket implements Runnable{
public boolean available = false;
public Object obj = new Object();
/** Creates a new instance of Basket */
public Basket() {
}
public void run() {
}
public void produce(){
synchronized(obj){
try {
if(available){
obj.wait();
}
Thread.sleep(1);
System.out.println("apple produced");
obj.notify();
available = true;
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public void consume(){
synchronized(obj){
try {
if(!available){
obj.wait();
}
Thread.sleep(1);
System.out.println("apple consumed");
available = false;
obj.notify();
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
Basket basket = new Basket();
for(int i = 0; i < 10; i++){
(new Thread(new Producer(basket))).start();
(new Thread(new Consumer(basket))).start();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -