转自: http://blog.csdn.net/liuyu832/article/details/6287159
class Producer implements Runnable{
Message ms =new Message();
int i = 0;
Producer(Message ms){
this.ms = ms;
}
public void run(){
while(true){
if(i > 10){
break;
}else{
System.out.println("Producer set :"+i);
ms.setMessage(i);
i++;
}
}
}
}
class Consumer implements Runnable{
Message ms =new Message();
Consumer(Message ms){
this.ms = ms;
}
public void run(){
while(true){
if(ms.i >= 10){
System.out.println(" is over!..");
break;
}
try{
Thread.sleep(100);
}catch(Exception e){
e.getStackTrace();
}
int i = this.ms.getMessage();
System.out.println("Consumer get :"+i);
}
}
}
class Message{
public int i;
synchronized int getMessage(){
notify();
return this.i;
}
synchronized void setMessage(int i){
this.i = i;
try{
wait();
}
catch(Exception e){
e.printStackTrace();
}
}
}
/* (1)调用wait()和notify()方法需要注意 方法调用者都是同一个对象;
(2)一定要用 synchronized(){}实现同步;*/
public class Main {
public static void main(String[] args){
Message ms = new Message();
Producer p = new Producer(ms);
Consumer c = new Consumer(ms);
Thread t1 = new Thread(p);
Thread t2 = new Thread(c);
t1.start();
t2.start();
}
}
相关推荐
非常好的程序资源,一秒钟一千多条!
ProducerConsumer(生产者消费者问题的单线程模拟) vs2008
(注意,本资源附带书中源代码可供参考) 多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易懂的文字与实例来介绍Java线程相关的设计模式概念,并且通过实际的Java程序范例和 UML图示来一一解说,书中...
java的多线程示例(生产者消费者问题)
采用同步机制synchronized/wait(notify)或者lock(unlock)/condition variable实现两个producer和一个consumer之间协调运行。运行结果输出格式为:Put(or Get) number {[content] length start_index end_index} 包含...
The use of producer-consumer questions helps to better understand threads.
java生产者消费者程序实现 线程,信号量互斥事件 临界资源
生产者消费者使用java实现经典的并发或线程模式。 在分支“简化”中,代码被简化以使其更具可读性。 在“master”分支中,运行代码,可以很容易地理解真正的过程。
python 条件同步的使用 条件同步:threading.Condition 多线程同步,python2例程 多线程的同步 多线程情况下最常见的问题之一:数据共享; 当多个线程都要去修改某一个共享数据的时候,需要对数据访问进行同步...
5、Producer-Consumer ———— 我来做,你来用 6、Read-Write Lock ———— 大家想看就看吧,不过看的时候不能写哦 7、Thread-Per-Message ———— 这个工作交给你了 8、Worker Thread ———— 等到工作来,来了...
利用Qt5实现一个简单的多线程同步,利用Producer和Consumer的原理来实现。
producer_consumer.java 演示生产者-消费者线程 consumer.java 消费者线程 producer.java 生产者线程 common.java 公有类 第9章 示例描述:本章学习运行时类型识别。 Candy.java 一个用来测试的简单类 ...
第5章 Producer-Consumer——我来做,你来用 第6章 Read-Write Lock——大家想看就看吧,不过看的时候不能写喔 第7章 read-Per-Message——这个工作交给你了 第8章 Worker Thread——等到工作来,来了就工作 第9章 ...
别人的太贵了,自己写一份分享!c语言实现生产者消费者模型,支持设置生产者消费者线程数量,支持设置消息数量。消息的组织形式为链表。生产者生产消息和消费者处理消息分别需要对应的条件变量。代码编译方式见注释
ProducerConsumer-CSharp
Flex基于Producer和Consumer方式的简易消息推送机制
生产者-消费者模式的 Java 8 变体
ProducerAndConsumer 生产者和消费者模型java实现
1、n个缓冲区的缓冲池作为一个临界资源:当生产者任务从数据源—文件中读取数据后将会申请一个缓冲区,并将此数据放缓冲区中。消费者任务从一个缓冲区中取走数据,并将其中的内容打印输出。当一个生产者任务正在访问...
57119101_王晨阳_ProducerConsumer1