问题描述:
模拟实现一种场景:有一个篮子,最多可以装5个苹果,一个人从篮子中取苹果,一个人向篮子中放苹果。
问题思路:
线程同步的经典问题——生产者和消费者,只不过换了个皮囊。此处只有一个生产者和一个消费者。
初步实现,不罗嗦,直接上代码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27public class TestInteger {
private Integer number = 0;//篮子中苹果的数量
class Consumer implements Runnable {//消费者
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
while (number > 0) {
number--;
System.out.println("-----"+ number);
}
}
}
}
class Producer implements Runnable {//生产者
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
while (number < 5) {
number++;
System.out.println("++++++"+ number);
}
}
}
}
}