随笔分类 - 多线程
摘要:1. 什么是ThreadLocal ThreadLocal的作用是提供线程内的局部变量,在多线程环境下访问时能保证各个线程内的ThreadLocal变量各自独立。 也就是说,每个线程的ThreadLocal变量是自己专用的,其他线程是访问不到的。 2. 应用场景 多线程环境下存在对非线程安全对象的并
阅读全文
摘要:小伙伴都知道通过Executors静态类可以直接创建4种类型的线程池, 但读过阿里巴巴开发手册的童鞋一定见过这句话: 强烈不建议直接使用Executors静态类来创建线程池!!! 这是为啥呢? 原因如下: 1:FixedThreadPool 和 SingleThreadPool: 允许的请求队列(底
阅读全文
摘要:一. 悲观锁、乐观锁 1、悲观锁认为共享资源并发操作一定会出现问题,使用synchronized关键字或者lock接口特性加锁; 2、乐观锁认为不加锁给并发操作带来性能提升,常采用CAS(Compare比较 And Swap交换)自旋锁;典例就是并发原子类,通过CAS自旋来更新值 二. 公平锁、非公
阅读全文