java juc 包_Java 并发包(JUC)下面的工具类,在实际工作中都有哪些应用场景呢?...

这下面可以主要分几类吧

1. 线程间通信工具类,如Semaphore ,、CountDownLatch、Future等等,这种也经常用,特别是在写多线程高并发的程序时,结合通信工具和锁把线程编排的符合你的预期执行

2. 锁,JUC提供了各种在某些场景下比synchronized更合适的高级锁实现,包括读写锁,互斥锁等等,因其多数基于CAS这种乐观锁实现,性能一般要由于synchronized内置锁,而且结合Cdondition更灵活可控。 不过个人觉得,这些锁除了jdk以及一些知名框架中使用外,我们日常工作synchronized就已经够用了,很少会用到,就算为了追求极致的性能,也往往先从架构方面入手

3. 原子包装类 ,这个经常用,一两行代码既可以保证线程安全,又可以获得比synchronized内置锁更好的性能,何乐而不为呢

4. 线程安全的集合, 这里面包含了一些基于锁分解、分段锁、CAS等机制性能优良且线程安全的集合类,一般在多线程业务中,只要有共享访问的集合,可能不管三七二十一直接用这些同步集合

5. 线程池工具类,这就更不用说了,目前几乎很少有项目不用线程池的

场景的话,非常多

1.生产消费问题,这是大头,大到转账取钱问题,小到并发读写队列,只要有对共享数据的并发读写访问,都可以算

2.秒杀场景,红包、促销等等,其实这也勉强可以算生产消费问题

3.研发框架,目前各种web 服务 、rpc服务、schedule服务等等,都是多线程服务,JUC的工具是保证并发服务高可用高性能的基础

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值