知识大全 Java多线程--生产者与消费者
Posted 生产者
篇首语:学新温故,学以致用,总结提高。。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java多线程--生产者与消费者相关的知识,希望对你有一定的参考价值。
Java多线程--生产者与消费者 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
模拟生产者与消费者实例 生产者生产一个产品 消费者就消费一个产品 然后生产者再生产 消费者再消费
***********************核心方法类****************
package ;
class Queue
// key
int value;
boolean bFull = false;
public synchronized void put(int i)
if (!bFull)
value = i;
bFull = true;
notify();// 必须用在synchronized
try
wait();// 必须捕获异常
catch (InterruptedException e)
// TODO Auto generated catch block
e printStackTrace();
public synchronized int get()
if (!bFull)
try
wait();//进入
catch (InterruptedException e)
// TODO Auto generated catch block
e printStackTrace();
bFull = false;
notify();
return value;
*****************************************************************
************************生产者类********************************
package ;
class Producter extends Thread
Queue q;
Producter (Queue q)
this q=q;
public void run()
System out println( ********producter****start***** );
for(int i= ;i< ;i++)
System out println( producter : +i);
q put(i);
System out println( ********producter*****end**** );
**********************************************************************
****************************消费者类*********************************
package ;
class Consumer extends Thread
Queue q;
Consumer(Queue q)
this q=q;
public void run()
System out println( ********Consumer****start***** );
while(true)
System out println( Consumer: +q get());
System out println( ********Consumer****end***** );
************************************************************************
*******************************主函数调用类**********************************
package ;
public class Test
public static void main(String[] args)
Queue q=new Queue();
Producter p=new Producter(q);
Consumer c=new Consumer(q);
p start();
c start();
*****************************************************************
OK 实现完毕
wait方法——把线程放入wait set
notify方法——从wait set拿出线程
notifyAll方法——从wait set拿出所有线程
cha138/Article/program/Java/gj/201311/27459相关参考
由生产者/消费者问题看JAVA多线程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 生产者消费者
Java多线程例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 写出一组模拟生产者/消费者的协
Java线程;生产消费者例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 小小回顾写了个简单的
C#多线程学习—生产者和消费者(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
C#多线程学习—生产者和消费者(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
C#多线程学习—生产者和消费者(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
知识大全 关于JAVA多线程并发synchronized的测试与合理使用
关于JAVA多线程并发synchronized的测试与合理使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
这个程序验证了后台线程与用户线程的区别以及之间的关系证明了只要所有的用户线程结束了那么后台线程就将必须结束! importncurrentTimeUnit; publicclass
Java语言规范中指出为了获得最佳速度允许线程保存共享成员变量的私有拷贝而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比 Volatile修饰的成员变量在每次被线程访问时都强迫从
解析Java的多线程机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一进程与应用程序的区别