美文网首页
threadlocal 的笔记

threadlocal 的笔记

作者: 风一样的牛 | 来源:发表于2020-01-08 11:52 被阅读0次

ThreadLocal 并不是Thread,是thread的局部变量,应该叫ThreadLocalVariable不知道哪个驴踢的起了个这个名字,就想叫隔壁二大爷家的狗叫“”二大爷“”,搞得大家一头雾水。

ThreadLocal 比不是并发访问一个共同对象,是为每个线程分配一个属于该线程的变量,就是每个线程有有一个副本。

ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get或set方法访问)时能保证各个线程里的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程的上下文。

发明ThreadLocal的初衷是为了提供线程内的局部变量,不是为了解决共享多线程的访问问题,,实际上根本就解决不了,不过很多博客都没说,巴拉巴拉一顿裹脚布的长度,好像很厉害的多线程工具。

这里引用https://www.jianshu.com/p/09ceb962894d的例子。

1. 演化过程

以实际生活中的银行业务办理模型,解释ThreadLocal的诞生过程。读者们可以看到:随着业务模型的不断扩展,代码逻辑变得更加复杂,经过不断优化代码结构的过程,演化出了ThreadLocal这个编程工具

1. 1初始形态

大家去银行办理业务时,如果需要排队等候,则会领取一个排队号,直到叫号才能办理业务。

我们把每一笔业务(Transaction)抽象为一个线程,每一笔业务都有一个唯一的标识(id)。

```java

class Transaction extends Thread

{

privateintid;

publicvoidrun()

{

if(wait)

{

...// Waiting}

else{

...// Start transaction

}

}

}

```java

相关文章

  • Android笔记——ThreadLocal原理浅析

    复习和回顾Android知识,梳理笔记 ThreadLocal简介 ThreadLocal一般在开发中不是很常见,...

  • threadlocal 的笔记

    ThreadLocal 并不是Thread,是thread的局部变量,应该叫ThreadLocalVariable...

  • ThreadLocal笔记

    定义:创建线程局部变量的类 特点:一般情况下,创建的变量可以被任何一个线程访问并且修改,但是使用ThreadLoc...

  • ThreadLocal笔记

    ThreadLocal 背景 在android的消息队列中,每个线程都可以创建一个Looper,那么在androi...

  • 《笔记》— ThreadLocal

    概念ThreadLocal是Java中一个用于线程内部存储数据的工具类。ThreadLocal是用来存储数据的,线...

  • ThreadLocal学习笔记

    ThreadLocal内存泄漏中提到ThreadLocal在ThreadLocalMap中是以一个弱引用身份被En...

  • ThreadLocal学习笔记

    前言 ThreadLocal是JDK包提供的,它提供了线程本地变量,也就是如果你创建了一个ThreadLocal变...

  • ThreadLocal学习笔记

    一、经典实用场景 1.Spring中事务的隔离级别public abstract class Transactio...

  • ThreadLocal 学习笔记

    在看Looper的源码时,发现有这么个sThreadLocal属性,研究了下 ThreadLocal官方的定义如下...

  • ThreadLocal

    ThreadLocal 简介ThreadLocal 使用ThreadLocal 原理InheritableThre...

网友评论

      本文标题:threadlocal 的笔记

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