美文网首页
8.8 ThreadLocal

8.8 ThreadLocal

作者: jadefly | 来源:发表于2018-01-09 18:10 被阅读0次

    简介

    概念:1.使用ThreadLocal维护变量会为每个使用该变量的线程提供独立的变量副本,每个线程独立改变副本不会影响其它线程的副本;

               2.ThreadLocal为解决多线程程序的并发问题提供了一种新的思路,简洁优美;


    方法

    void set(T value):设置当前线程的线程局部变量的值;

    T get():该方法返回当前线程所对应的线程局部变量;

    void remove():将当前线程局部变量的值删除,目的是为了减少内存的占用;

                                      (线程结束gc会自动回收,显式调可以加快内存回收)

    T initialValue():返回该线程局部变量的初始值;(缺省值为null,一般使用匿名内部类)


    ThreadLocal与线程同步机制

    都是为了解决多线程中相同变量的访问冲突问题。

    线程同步机制:1.通过对象的锁机制保证同一时间只有一个线程访问变量;(变量是多个线程共享的,通过加锁、释放锁)

                             2.仅提供一份变量,让不同的线程排队访问;

                             3.锁机制牺牲时间换空间;

    ThreadLocal:1.为每一个线程提供一个独立的变量副本,从而隔离了多个线程对数据的访问冲突;

                            2.为每一个线程都提供了一份变量,因此可以同时访问而互不影响;

                            3.存储拷贝牺牲空间换时间;


    相关文章

      网友评论

          本文标题:8.8 ThreadLocal

          本文链接:https://www.haomeiwen.com/subject/hodgnxtx.html