码迷,mamicode.com
首页 > 编程语言 > 详细

java中多线程通信实例:生产者消费者模式

时间:2014-07-31 16:40:16      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:blog   http   java   使用   strong   数据   问题   代码   

线程间的通信:

其实就是多个线程再操作同一个资源,但是操作的动作不同

 

当某个线程进入synchronized块后,共享数据的状态不一定满足该线程的需要,需要其他线程改变共享数据的状态后才能运行,而由于当时线程对共享资源时独占的,它必须解除对共享资源的锁定的状态,通知其他线程可以使用该共享资源。

Java中的 wait(),notify(),notifyAll()可以实现线程间的通信。

生产者--消费者问题是典型的线程同步和通信问题

/**
 * 生产者和消费者问题,生产者生成出产品,消费者去购买产品
 * 在这里创建三个线程,一个主控线程,一个生产者线程,一个消费者线程,
 * 另外,创建一个堆栈 Stack,生成线程生成的产品放置到堆栈中,然后消费者线程再堆栈中去走产品
 * */

建立一个堆栈 代码如下:


bubuko.com,布布扣
 
bubuko.com,布布扣
 创建一个生产者类 代码如下:


bubuko.com,布布扣
 创建一个消费者类 代码如下:


bubuko.com,布布扣
 主函数调用 代码如下:
bubuko.com,布布扣
 

 

java中多线程通信实例:生产者消费者模式,布布扣,bubuko.com

java中多线程通信实例:生产者消费者模式

标签:blog   http   java   使用   strong   数据   问题   代码   

原文地址:http://www.cnblogs.com/jingjing0907/p/3880954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!