basket.java
来自「用NETBEANS做的一个关于Java的小小的demo.大家赐教」· Java 代码 · 共 70 行
JAVA
70 行
/*
* 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 + =
减小字号Ctrl + -
显示快捷键?