一、通过生产者消费者模型理解(等待唤醒机制)
1、创建一个产品商城类
package com.xz.thread.t14;
/**
* @description: 创建一个产品商城类
* @author: xz
* @create: 2021-05-20 21:59
*/
public class ProductStore {
private int count;//产品数量
public final int MAX_COUNT = 5;//产品数量最大值
//生产产品的方法
public synchronized void push(){
while(count >= MAX_COUNT){
try {
System.out.println(Thread.currentThread().getName()+"库存数量已达到上限,生产者停止生产!");
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName()+"库存数量=【"+count+"】,生产者开始生产。。。。。");
count++;
notifyAll();//通知消费者消费
}
//消费产品的方法
public synchronized void take(){
while(count
关注
打赏
热门博文
- Netty—— 概念剖析(NIO vs BIO)
- Netty——网络编程 NIO(Selector处理accept事件)代码示例
- CompletableFuture异步编排(多任务组合)
- CompletableFuture异步编排(两任务组合——两个任务必须都完成才触发另一个任务 )
- CompletableFuture异步编排(线程串行化代码示例)
- CompletableFuture异步编排(handle最终处理)
- CompletableFuture异步编排(计算完成回调代码示例)
- hutool工具导出excel代码示例
- CompletableFuture异步编排(开启异步编程代码示例)
- java 获取音频、视频文件时长代码示例