多线程
爱尚兰
这个作者很懒,什么都没留下…
展开
-
ThreadLocal & InheritableThreadLocal 使用的一些坑
ThreadLocal在与线程池结合使用时可能会出现数据复用 线程池把线程提交到队列,当被调用的时候如果存在空闲线程就回直接复用线程,仅仅是调用了用户提交线程的run方法。所以当ThreadLocal参数使用完,记得调用remove方法。 public class B { static final ThreadLocal<String> threadParam = ...原创 2018-11-16 17:46:11 · 2596 阅读 · 0 评论 -
并发基础
线程的三大特性: 原子性 2. 可见性 3. 有序性 处理器为了提高程序的运行效率,可能会对输入代码进行优化,但不保证程序中各个语句的执行先后顺序同代码中的顺序一致,但是会保证执行的结果一致。 int a = 10 #1 int r = 2 #2 a = a + 3 #3 r = a*a #4 重排序,执行顺序可能为 2-1-3-4, 1-3-2-4。 思考:为什么...原创 2018-11-28 14:10:15 · 141 阅读 · 0 评论