package com.ubs.joe.demo;
public class ProductThread implements Runnable{
private Count count;
public ProductThread(Count count){
this.count = count;
}
public void run(){
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
count.incrementCount();
}
}
public static void main(String [] args){
Count count = new Count();
ProductThread d = new ProductThread(count);
CustomerThread r = new CustomerThread(count);
Thread t1 = new Thread(d);
Thread t2 = new Thread(r);
Thread t3 = new Thread(d);
Thread t4 = new Thread(r);
t1.start();
t2.start();
t3.start();
t4.start();
}
}
class CustomerThread implements Runnable{
private Count count;
public CustomerThread(Count count){
this.count = count;
}
public void run(){
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
count.decrementCount();
}
}
}
class Count{
int count = 0;
int flag = 0;
public synchronized void incrementCount(){
while(flag!=0){
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
count++;
System.out.println(count);
if(count==20){
flag = 1;
notifyAll();
}
}
public synchronized void decrementCount(){
while(flag==0){
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
count--;
System.out.println(count);
if(count==0){
flag = 0;
notifyAll();
}
}
}
- 浏览: 113583 次
- 性别:
- 来自: 深圳
最新评论
-
chasewade:
很好 很适合入门
lucene3.0基础实例
相关推荐
java实现生产者消费者,生产者先生产,然后通知消费者消费,然后再通知生产者生产
用java多线程简易实现生产者消费者模式的代码,用java多线程简易实现生产者消费者模式的代码。
操作系统,生产者消费者问题和先来先服务算法,java语言编写。
java多线程实现生产者和消费者
java 多线程 生产者消费者模式,你值得拥有
java 多线程 生产者消费者模式,多个生产者对多个消费者,使用jdk 线程池及 BlockingQueue实现,解决了待生产的任务生产完成后,正常终止所有线程,避免线程(特别是消费者线程)因阻塞而无限等待的情况。源码中还简单...
详细的生产者消费者的java实现过程,详细的生产者消费者的java实现过程,详细的生产者消费者的java实现过程
自己空闲时间写的一个生产者和消费者模式。中间使用了中介者设计模式。大家可以参考下。
基于队列实现的生产消费者模式java 源码,并且采用多线程进行消费
Java 生产消费者模式练习demo,供初学者入门。资深工程师请绕路。
生产者消费者模式在java中的应用 包涵了源代码和图片的讲解
生产者/消费者问题的多种Java实现方式。采用适配器模式架构完成三种方式的实现。demo清晰明了
阻塞队列实现生产者消费者模式Java开发Java经验技巧共4页.pdf.zip
生产者消费者synchronized实现方式
界面化模拟生产者消费者模式,生产者生产数据数量和消费者消费数据数量可自定义输入,仓库内最大数量和最小剩余量以及生产者每次生产数量和消费者每次消费数量都可以自定义输入
生产者消费者java源码, 执行生产者消费者的模式。 通过producer, consumer里面的Thread.sleep控制生产与消费的速度...
主要介绍了Java多线程生产者消费者模式实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java JDK1.5后新特性,用Lock和Condtion对象解决线程安全问题,提高了效率。
NULL 博文链接:https://hbkh2000.iteye.com/blog/378843
java多线程之消费者生产者模式参照.pdf