生产者消费者问题之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/JSP中文乱码问题解决心得
自从接触Java和JSP以来,就不断与Java的中文乱码问题打交道,现在终于得到了彻底的解决,现将我们的解决心得与大家共享。
一、Java中文问题的由来
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JS ......
http://www.blogjava.net/flysky19/articles/93492.html
1.java project环境,使用java.io用相对路径读取文件的例子:
*目录结构:
DecisionTree
|___src
  ......
Java 编程技术中汉字问题的分析及解决
现在 Java 编程语言已经广泛应用于互联网世界,早在 Sun 公司开发 Java 语言的时候,就已经考虑到对非英文字符的支持了。Sun 公司公布的 Java 运行环境(JRE)本身就分英文版和国际版,但只有国际版才支持非英文字符。不过在 Java 编程语言的应用中,对中文字符的支持并非如同 Java S ......
PO(persistant object) 持久对象
在 o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。
......