package com.spring.boot.entity;
import java.util.ArrayDeque;
import java.util.Queue;
public class ProducerAndConsumer {
public static void main(String[] args) {
Queue<Product> queue = new ArrayDeque<>();
new Thread(new Producer(queue, 5)).start();
new Thread(new Consumer(queue, 5)).start();
}
}
package com.spring.boot.entity;
public class Product {
private String name;
public Product(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.spring.boot.entity;
import java.util.Queue;
import java.util.Random;
public class Producer implements Runnable{
private Queue<Product> queue;
private int maxCapacity;
/*表示当前线程共生产了多少件物品*/
private int count;
public Producer(Queue queue, int maxCapacity) {
this.queue =
多线程-生产者消费者代码,使用synchronized实现(等待唤醒机制)
最新推荐文章于 2022-07-30 17:15:28 发布
本文介绍了如何使用synchronized关键字在Java中实现生产者消费者问题,探讨了等待唤醒机制,并提供了相关代码示例,包括通过同步队列进行通信的方式。
摘要由CSDN通过智能技术生成