知识大全 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多线程

由生产者/消费者问题看JAVA多线程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  生产者消费者

知识大全 Java多线程例子

Java多线程例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  写出一组模拟生产者/消费者的协

知识大全 Java线程;生产消费者例子

Java线程;生产消费者例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  小小回顾写了个简单的

知识大全 C#多线程学习—生产者和消费者(2)

C#多线程学习—生产者和消费者(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 C#多线程学习—生产者和消费者(3)

C#多线程学习—生产者和消费者(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 C#多线程学习—生产者和消费者(1)

C#多线程学习—生产者和消费者(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 关于JAVA多线程并发synchronized的测试与合理使用

关于JAVA多线程并发synchronized的测试与合理使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 验证后台线程的java多线程技术

  这个程序验证了后台线程与用户线程的区别以及之间的关系证明了只要所有的用户线程结束了那么后台线程就将必须结束!  importncurrentTimeUnit;  publicclass 

知识大全 java的volatile与多线程

  Java语言规范中指出为了获得最佳速度允许线程保存共享成员变量的私有拷贝而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比  Volatile修饰的成员变量在每次被线程访问时都强迫从

知识大全 解析Java的多线程机制

解析Java的多线程机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一进程与应用程序的区别