62,628
社区成员
发帖
与我相关
我的任务
分享
Clerk clerk = new Clerk();
你是其他语言转过来的吗. 建议先看看基础吧,还是不要急着写多线程. class Consume extends Thread {
Clerk clerk;
//增加有参构造函数,参数就是Clerk对象。
public Consume(Clerk clerk) {
this.clerk = clerk;//给类的变量clerk赋值。
}
public void run() {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println("消费商品");
while (true) {
clerk.consumeProduct();
}
}
}
class Producer extends Thread {
Clerk clerk;
//增加有参构造函数,参数就是Clerk对象。
public Producer(Clerk clerk) {
this.clerk = clerk;//给类的变量clerk赋值。
}
public void run() {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println("生产商品");
while (true) {
clerk.addProduct();
}
}
}
public class TestProduceConsume {
public static void main(String[] args) {
/*
* new 一个Clerk 对象.
*/
Clerk clerk = new Clerk();
//把clerk传递给c1,p1.
Consume c1 = new Consume(clerk);
Producer p1 = new Producer(clerk);
c1.setName("消费者");
p1.setName("生产者");
c1.start();
p1.start();
}
}