2016-05-20
更多 →
2016-05-10
更多 →
2016-05-08

核心原理

  1. ThreadLocal 处理的是线程的专属对象,各个线程的对象都是独立的。
  2. ThreadLocal 用来辅助平衡效率与资源分配。
  3. ThreadLocal 不是同步机制,也不解决共享对象的多线程竞态条件问题。

基本设计

首先看一个熟悉的场景:排队买票。

从理论上看,针对“排队买票”这个场景,我们可以有以下几种方案设计:

第一种. 固定设置一个售票窗口,每新来一个购票者就排在队伍的最后面。如图:

1

第二种. 动态设置售票窗口数量,每新来一个购票者就新开一个窗口来进行接待。如图:

1

第三种. 固定设置 N 个售票窗口,每新来一个购票者就选择一个售票窗口。如图:

1

比较一下上面的三种方案,很明显现实社会中使用的是第三种,那么各自有什么优势与缺点呢?

更多 →
2016-05-06
更多 →
2016-04-24
更多 →
2016-04-12
更多 →
2016-04-01
更多 →
2016-03-27
更多 →
2016-03-27
更多 →
2016-03-24
更多 →