美文网首页
对ThreadLocal的一些理解

对ThreadLocal的一些理解

作者: 溪水散人 | 来源:发表于2020-08-13 00:21 被阅读0次

ThreadLocal,这个东西真的是熟悉又陌生,原因是面试的时候好像经常会被问到,但是实际使用的时候却用的比较少。

对于其源码,很多博客到处都是,就不在贴在这里,免去抄来抄去的嫌疑。

在并发编程的环境下,如果存在共享数据,为了保证这些数据的一致性,我们需要通过各种操作来保证共享数据的一致性,如通过加锁的方式,无论是那种方式都好,其目的都是为了对共享数据操作的原子性。

而ThreadLocal取反其道行之,对于一个共享变量,每个使用它的线程,都为其分配一个副本,即保证了每个线程用到的这个共享变量都是不一样的,即t1线程不会用到t2线程修改后的共享变量的值。

还是贴一点源码

    public T get() {
        // 当前线程
        Thread t = Thread.currentThread();
        ThreadLocalMap map = getMap(t);
        if (map != null) {
            ThreadLocalMap.Entry e = map.getEntry(this);
            if (e != null) {
                @SuppressWarnings("unchecked")
                T result = (T)e.value;
                return result;
            }
        }
        return setInitialValue();
    }

相关文章

  • 对ThreadLocal的一些理解

    ThreadLocal,这个东西真的是熟悉又陌生,原因是面试的时候好像经常会被问到,但是实际使用的时候却用的比较少...

  • ThreadLocal 深度解析

    一.对ThreadLocal的理解二.深入解析ThreadLocal类三.ThreadLocal的应用场景 对Th...

  • 14-ThreadLocal类详细剖析

    ThreadLocal类详细剖析 对ThreadLocal的理解 JDK中的源码是这样描述ThreadLocal的...

  • ThreadLocal源码分析

    1.对ThreadLocal的理解 ThreadLocal是一个创建线程局部量的类。使用ThreadLocal创建...

  • ThreadLocal

    理解ThreadLocal 理解ThreadLocal的关键在于理解 Thread, threadLocals, ...

  • 面试官再问你 ThreadLocal,你就这样“怼”回去!

    面试官:说说你对ThreadLocal的理解... 我们该怎么回答???? ThreadLocal用在什么地方? ...

  • 谈谈对ThreadLocal的理解

    ThreadLocal是什么? ThreadLocal从字面上的理解是本地线程的意思,然而事实上它是共享变量的一份...

  • ThreadLocal的一些理解

    最近看Handler及Activity相关的文章,多次碰到ThreadLocal这个类,该类实现了进程内线程间的通...

  • ThreadLocal

    关于ThreadLocal请参考这篇文章 解密ThreadLocal, 基本上都全了.这里主要是写一些自己的理解 ...

  • ThreadLocal的使用事例

    列举几个使用ThreadLocal的事例,能更好的理解ThreadLocal。 1、运用ThreadLocal实现...

网友评论

      本文标题:对ThreadLocal的一些理解

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