计算机中很经典的生产者与消费者的问题,生产者要等到产品消耗完之后才能进行生产,消费者都要等到产品生产完成之后才能消费,也就是说,生产者要等到消费者消费完产品之后才能进行生产,消费者要等到生产者生产完产品之后才能进行消费。
生产者与消费者之间的关系:
生产者>>判断产品是否为空>>空>>生产产品
生产者>>判断产品是否为空>>不空>>不生产产品
消费者>>判断产品是否为空>>空>>不消费产产品
消费者>>判断产品是否为空>>空>>消费产产品
两者之间的逻辑图如下:
生产者工作完之后,消费者才能工作,消费者工作完之后生产者才能工作,如下图所示:
下面,使用Java代码来实现生产者与消费者的功能
1、以下代码是实现生产者与消费者的代码普遍实现方法
public class ThreadTest1 {
// 平果,表示要生产的产品
static String apple = null;
// 生产
static void product() {
if (apple != null) {
try {
Thread.sleep(10);
} catch (Exception e) {
}
}
if (null == apple) {
System.out.println("product");
apple = "";
}
}
// 消费
static void comsume() {
if (apple == null) {
try {
Thread.sleep(