zoukankan      html  css  js  c++  java
  • ThreadLocal使用场景,原理

    ThreadLocal
    1. 先说下 ThreadLocal不能解决多线程间共享数据,他是一个隔离多线程间共享数据的好帮手
    2. ThreadLocal是本地线程共享数据
    3. 他是以空间换时间

    synchronized
    1. 解决多线程间共享数据安全的问题
    2. 他是以时间换空间的方案,效率差(适用并发量小的时候)

    注:
    ThreadLocal和Synchonized都用于解决多线程并发访问。
    但是ThreadLocal与synchronized有本质的区别。
    synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。
    而ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。
    而Synchronized却正好相反,它用于在多个线程间通信时能够获得数据共享。
    Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。

    注:这篇文章说了:https://blog.csdn.net/liuhaiabc/article/details/78077529

  • 相关阅读:
    02-cocoapods的安装和使用
    01-唐巧之cocoapods
    class0513(html)
    程序集
    c#面向对象
    html
    dom
    Javascript
    Jquery
    ado.net
  • 原文地址:https://www.cnblogs.com/duende99/p/12079183.html
Copyright © 2011-2022 走看看