• ThreadLocal概述、以及存在的坑


      ThreadLocal:

        线程的一个本地化对象。当多线程中的对象使用ThreadLocal维护变量是,ThreadLocal为每个使用该变量的线程分配一个独立的变量副本。

        threadlocal通常定义为静态变量

    工作原理:

      内部维护一个ThreadLocalMap,每次set数据时是用ThreadLocal本身作为Key

    常见使用场景:

      1.session 管理

    常见的坑:

      1.ThreadLocal是与线程绑定的一个变量,假设没有将ThreadLocal内的变量删除(remove)或替换,它的生命周期将会与线程共存,假如我们使用的是线程池,会导致下一个线程获取到垃圾数据

    解决方案:从设计的角度要让ThreadLocal的set、remove有始有终,通常在外部调用的代码中使用finally来remove数据

  • 相关阅读:
    python 随机字符串
    Ajax
    Django (Form)
    Django (项目)
    Django (二)
    Django (一)
    Django 学生管理系统
    地理坐标系 与 投影坐标系
    shapefile
    图表绘制工具--Matplotlib 3
  • 原文地址:https://www.cnblogs.com/Mr-Rocker/p/11757822.html
Copyright © 2020-2023  润新知