易截截图软件、单文件、免安装、纯绿色、仅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几行代码截取屏幕

通过java.awt.Robot的createScreenCapture截屏。
    public static void captureScreen(String fileName) throws Exception {
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Rectangle screenRectangle = new Rectangle(screenSize);
& ......

[经典]是java高手就进来,看一下你的水平,1.5%正确率

这道题是一个java公司的笔试题,考察了大概一千多个面试的java工程师以及项目经理,不过全对的只有不到1.5%
 
在做这个题的时候请按顺序做,不能改变顺序,做前面题时,不能查看后面的题,同上也不要查看下面的回复,不要改变你的答案
 
多的先不说,请把下面的题答案给出
 
class Human{
static ......

Java常用字符集编码详解

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

java常用类的使用方法

java常用类的使用方法
Interger:整数类型
1、属性。
static int MAX_VALUE:返回最大的整型数;
static int MIN_VALUE:返回最小的整型数;
static Class TYPE :返回当前类型。
例子:
代码:
System.out.println("Integer.MAX_VALUE: " + Integer.MAX_VALUE );
结果为:Integer.MAX_VALUE: 2147483647
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号