首页 > 代码库 > java中多线程通信实例:生产者消费者模式
java中多线程通信实例:生产者消费者模式
线程间的通信:
其实就是多个线程再操作同一个资源,但是操作的动作不同
当某个线程进入synchronized块后,共享数据的状态不一定满足该线程的需要,需要其他线程改变共享数据的状态后才能运行,而由于当时线程对共享资源时独占的,它必须解除对共享资源的锁定的状态,通知其他线程可以使用该共享资源。
Java中的 wait(),notify(),notifyAll()可以实现线程间的通信。
生产者--消费者问题是典型的线程同步和通信问题
/**
* 生产者和消费者问题,生产者生成出产品,消费者去购买产品
* 在这里创建三个线程,一个主控线程,一个生产者线程,一个消费者线程,
* 另外,创建一个堆栈 Stack,生成线程生成的产品放置到堆栈中,然后消费者线程再堆栈中去走产品
* */
建立一个堆栈 代码如下:
创建一个生产者类 代码如下:
创建一个消费者类 代码如下:
主函数调用 代码如下:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。