易截截图软件、单文件、免安装、纯绿色、仅160KB

Java多线程: 生产者消费者问题(源码)

有人反映看不到源码,发现是CSDN的代码控件有问题。希望CSDN好好改进一下。
暂时先以文本方式发布出来,格式会变样。
import java.util.LinkedList;
public class ProducerConsumer
{
 /**
  * @param args
  */
 public static void main(String[] args)
 {
  Queue queue = new Queue();
  
  Producer producer1 = new Producer(queue, "producer1");
  Producer producer2 = new Producer(queue, "producer2");
  
  Consumer consumer1 = new Consumer(queue, "consumer1");
  Consumer consumer2 = new Consumer(queue, "consumer2");
  Consumer consumer3 = new Consumer(queue, "consumer3");
  
  producer1.start();
  producer2.start();
  consumer1.start();
  consumer2.start();
  consumer3.start();
 }
}
class Message
{
 public static int sno = 0;
 
 public int id = 0;
 
 public String content = null;
 
 public Message(String content)
 {
  synchronized(Message.class)
  {
   this.id = ++sno;
  }  
  this.content = content;
 }
 public String toString()
 {
  return "id = " + id + ", content = " + content;
 }
}
class Queue
{
 private LinkedList queue = null;
 private int capacity = 0;
 
 public Queue(int capacity)
 {
  this.capacity = capacity;
  queue = new LinkedList();
 }
 public Queue()
 {
  this(10);
 }
 
 public synchronized void put(Message product)
 {
  //wait until the consumer has consume a product
  while(queue.size() >= capacity)
  {
   try
   {
    wait();
   }
   catch (InterruptedException e)
   {
  &


相关文档:

基数排序 java 算法

package sort;
public class RadixSort {
 // 求x 数第d位上的数字,例如12345,十位数字是4  12345/10%10=4
 // d=0 表示个位 ;d=1 表示十位...依次类推
 public static int digit(int d,int x){
  return x/(int)Math.pow(10, d)%10;
 }
 
 public static void ra ......

Java集合框架全面介绍

Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。
Java 2集合框架图
 
集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。
抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。
......

JVM详解之Java垃圾回收机制详解和调优 (1)

 1.JVM的gc概述
  gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。
  在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的 ......

Execl导入notes JAVA代理

 import lotus.domino.*;
import java.io.*;
import java.util.Vector;
import jxl.*;
/*******************************************************************************
 * @saveSQMessageToOracle
 * @作者:徐华祥
 * @2009年10月28日
 * @说明:Execl文件的导入
 ********** ......

Java多线程 生产者消费者问题 (2)

一个使用了队列的通用实现:
http://blog.csdn.net/chaosllgao/archive/2009/05/23/4211183.aspx
 此文描述了一种更简单的模型
 1. 同时只有1个生产者和1个消费者
 2. 不用队列,同时只有一个产品
 3. 生产者每次生产1个0到100之间的随机数,消费者则把该随机数打印出来。如果产生的随机数为0,则 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号