美文网首页Spring-学习笔记
ThreadLocal-线程局部变量

ThreadLocal-线程局部变量

作者: 夜空中最亮的星_3310 | 来源:发表于2018-03-07 01:19 被阅读0次

ThreadLocal不是一个线程,而是保存线程本地化对象的容器。多线程环境中,使用ThreadLocal维护变量时,ThreadLocal为每个被维护的变量分配一个独立的变量副本。

    举个例子。例如下面的代码,对应静态变量num,如果不使用ThreadLocal来维护,那么,多线程环境下,最后的输出,如右侧所示。三个线程共享了num变量,num变量和三个线程相互影响。最后的输出,是1~9;

    再看下面的代码。同样是在多线程环境下,对同样的静态变量num,使用ThreadLocal进行维护后,每个线程,都可以分配到一个独立的副本。仔细分析最终输出,会发现,每个线程都得到1~3。也证明了,ThreadLocal为每个线程,维护了一个独立的副本。

相关文章

  • ThreadLocal-线程局部变量

    ThreadLocal不是一个线程,而是保存线程本地化对象的容器。多线程环境中,使用ThreadLocal维护变量...

  • ThreadLocal

    线程变量,每一个线程中都维护了一个ThreadLocalMap对象,用于存放该线程中的ThreadLocal->O...

  • Java ThreadLocal 的用法

    前言 ThreadLocal提供了线程局部变量,当前线程全局共享,线程隔离。 源码实现 线程局部变量是存储在Thr...

  • 一文详解Java中的ThreadLocal

    ThreadLocal用于多线程环境下每个线程存储和获取线程的局部变量,这些局部变量与线程绑定,线程之间互不影响。...

  • 一篇面试了无数公司后总结的面试题,学完面试不上我把工资卡给你

    1、什么是线程局部变量? 线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java 提供...

  • Java面试最常被问到的基础知识

    1.什么是线程局部变量?(答案) 线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Jav...

  • Linux线程局部变量实现

    Linux线程局部变量实现 什么是线程局部变量,就是每个线程各自拥有一个的变量;比如errno,是每个线程各自拥有...

  • 深入多线程4

    线程局部变量线程局部变量也叫线程局部存储,ThreadLocal类给每个线程都添加了一个变量,专门来存储每一个线程...

  • ThreadLocal源码解析

    一.ThreadLocal简介ThreadLocal 提供了线程局部变量,提供的局部变量与其他的变量不同,每个线程...

  • ThreadLocal到底是个啥?

    ThreadLocal是什么 提供线程局部变量,一个线程的局部变量在多个线程中有独立的副本,特点有:简单(开箱即用...

网友评论

    本文标题:ThreadLocal-线程局部变量

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