今日内容
- 生产者与消费者
- JDK5特性JUC
- 单例模式
- 关键字volatile
- 线程池
- ConcurrentHashMap
1. 生产者与消费者
1.1 安全问题产生
- 线程本身就是一个新创建的方法栈内存 (CPU进来读取数据)
- 线程的notify(),唤醒第一个等待的线程
- 解决办法 : 全部唤醒 notifyAll()
- 被唤醒线程,已经进行过if判断,一旦醒来继续执行
- 线程被唤醒后,不能立刻就执行,再次判断标志位,利用循环
- while(标志位) 标志位是true,永远也出不去
/**
* 定义资源对象
* 成员 : 产生商品的计数器
* 标志位
*/
public class Resource {
private int count ;
private boolean flag