java多线程总结六:经典生产者消费者问题实现
日期:2011-11-01
点击:88
来源: 未知
分享至:
这是个线程同步的经典例子,源代码如下:
- <span style=\"font-size:16px;\">package demo.thread;
-
-
-
-
-
-
-
public class ProducersAndConsumers {
-
public static void main(String[] args) {
-
Storage storage = new Storage();
-
Thread consumer = new Thread(new Consumer(storage));
-
consumer.setName(\"消费者\");
-
Thread producer = new Thread(new Producer(storage));
-
producer.setName(\"生产者\");
- consumer.start();
- producer.start();
- }
- }
-
-
-
-
-
class Consumer implements Runnable {
-
private Storage storage;
-
-
public Consumer(Storage storage) {
-
this.storage = storage;
- }
-
-
@Override
-
public void run() {
- storage.pop();
- }
- }
-
-
-
-
-
class Producer implements Runnable {
-
private Storage storage;
-
-
public Producer(Storage storage) {
-
this.storage = storage;
- }
-
-
@Override
-
public void run() {
-
Product product = new Product(\"090505105\", \"电话\");
- storage.push(product);
- }
-
- }
-
-
-
-
-
class Product {
-
private String id;
-
private String name;
-
-
public Product(String id, String name) {
-
this.id = id;
-
this.name = name;
- }
-
-
@Override
-
public String toString() {
-
return \"(产品ID:\" + id + \" 产品名称:\" + name + \")\";
- }
-
-
public String getId() {
-
return id;
- }
-
-
public void setId(String id) {
-
this.id = id;
- }
-
-
public String getName() {
-
return name;
- }
-
-
public void
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史