ThreadLocal

  1. ThreadLocal的作用就是为每一个使用该变量的线程提供一个变量值副本,使得每个线程都可独立的更改自己的副本,而不和其他线程的副本产生冲突
  2. 使用空间换时间的方式,为多线程环境常出现的并发访问提供了一种隔离机制
  3. ThreadLocal类中有一个Map,该Map的key是线程对象,value是线程对应的变量副本
  4. Synchronized是以时间换空间的方式,仅提供一份变量让多个线程排队访问,ThreadLocal是以空间换时间的方式,为每个线程提供一个变量,因此可以同时访问互不影响
  5. Synchronized用于线程间的数据共享,而ThreadLocal用于线程间的数据隔离
posted @ 2018-03-07 14:34  *青锋*  阅读(99)  评论(0编辑  收藏  举报