线程池

本文探讨了Java中的线程池、生产者消费者问题、单例设计模式及volatile关键字的应用。深入分析了线程池的ExecutorService,讲解了Lock接口与Condition的使用,以及如何通过Lock接口优化生产者消费者的性能。此外,还介绍了ConcurrentHashMap的并发特性和线程状态图。最后,详细阐述了File类的相关操作,包括构造方法、创建、删除和判断路径的方法。
摘要由CSDN通过智能技术生成

今日内容

  • 生产者与消费者
  • JDK5特性JUC
  • 单例模式
  • 关键字volatile
  • 线程池
  • ConcurrentHashMap

1. 生产者与消费者

1.1 安全问题产生

  • 线程本身就是一个新创建的方法栈内存 (CPU进来读取数据)
  • 线程的notify(),唤醒第一个等待的线程
    • 解决办法 : 全部唤醒 notifyAll()
  • 被唤醒线程,已经进行过if判断,一旦醒来继续执行
    • 线程被唤醒后,不能立刻就执行,再次判断标志位,利用循环
    • while(标志位) 标志位是true,永远也出不去
/**
 * 定义资源对象
 *   成员 : 产生商品的计数器
 *          标志位
 */
public class Resource {
   
   private int count ;
   private boolean flag 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值