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

生产者消费者问题之Java线程实现

原贴内容请见: http://topic.csdn.net/u/20100116/17/6a204504-9e70-435f-be55-f0630ed12fdf.html?seed=942806558&r=62778073#r_62778073
请大牛指正.
产品类:
package selfimpr.producerCustomer;
/**
* 产品
* @author selfimpr
* @blog http://blog.csdn.net/lgg201
* @email lgg860911@yahoo.com.cn
*
*/
public class Product {
private int id;
private String name;

public Product(int id, String name) {
this.id = id;
this.name = name;
}

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return "Product: {id: " + this.id + ", name: " + this.name + "};";
}
}

生产者类:
package selfimpr.producerCustomer;
import java.util.List;
/**
* 生产者线程, 将database实现
* @author selfimpr
* @blog http://blog.csdn.net/lgg201
* @email lgg860911@yahoo.com.cn
*
*/
public class Producer implements Runnable {
private List<Product> database;
private static int count = 0;
private int sn;
public Producer(int sn, List<Product> database) {
this.sn = sn;
this.database = database;
}
@Override
public void run() {
while (true) {
if (database.size() < 10) {
produce();
}
try {
Thread.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private void produce() {
synchronized (database) {
Product product = new Product(count, "product_" + count++);
database.add(product);
System.out.println("Producer[" + this.sn + "] produce " + product);
}
}
}

消费者类:
package selfimpr.producerCustomer;
import java.util.List;
/**
* 消费者线程, 同步database
* @author selfimpr
* @blog http://blog.csdn.net/lgg201
* @email lgg860911@yahoo.com.cn
*
*/
public class Customer implements Runnable {
private List<Product> database;
private int sn;
public Cus


相关文档:

【转】Java double 相加的怪事情

(本文转载自:http://hi.baidu.com/edilyxin/blog/item/27dc152aba3e10315343c19c.html)
问题的提出:  
编译运行下面这个程序会看到什么?  
public   class   Test{  
          public   static  ......

java 使用相对路径读取文件

http://www.blogjava.net/flysky19/articles/93492.html
1.java project环境,使用java.io用相对路径读取文件的例子:
 *目录结构:
  DecisionTree
            |___src
             ......

Java常用字符集编码详解

Java常用字符集编码详解
      Web开发的时候经常会遇到一些字符编码的错误,如页面乱码等问题,所以有必要需对字符编码有所了解,以下是Ricki收集的一些资料(可能不是很全,但希望对你有所帮助)
      Java标准字符集:所谓Java标准字符集,就是Java平台支持的字符 ......

Java 编程技术中汉字问题的分析及解决

Java 编程技术中汉字问题的分析及解决
现在 Java 编程语言已经广泛应用于互联网世界,早在 Sun 公司开发 Java 语言的时候,就已经考虑到对非英文字符的支持了。Sun 公司公布的 Java 运行环境(JRE)本身就分英文版和国际版,但只有国际版才支持非英文字符。不过在 Java 编程语言的应用中,对中文字符的支持并非如同 Java S ......

深入理解java多态性

贴子中部分源代码摘自csdn的一篇帖子, 参考了他们的理解,说说自己的一些见解:
//源代码:
class A {
         public String show(D obj){
                return ("A and D");
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号