当前位置: 首页 > article >正文

系列一、介绍

一、概述

官网:

        ThreadLocal用于提供线程内的局部变量,不同线程之间不会互相干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量传递的复杂度。

大白话:

        线程并发:ThreadLocal用于在多线程并发的场景下;

        传递数据:我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量数据;

        线程隔离:每个线程的变量都是独立的,不会互相影响;

二、基本使用

2.1、常用方法

2.2、案例代码

/**
 * @Author : 一叶浮萍归大海
 * @Date: 2023/11/21 11:50
 * @Description: 需求:线程隔离
 * 在多线程并发的场景下,每个线程中的变量都是互相独立的
 * 线程A:    设置(变量1)     获取(变量1)
 * 线程B:    设置(变量2)     获取(变量2)
 * <p>
 * ThreadLocal:
 * 1、set():将变量绑定到当前线程中
 * 2、get():获取当前线程绑定的变量
 */
public class ThreadLocalMainApp {

    private String content;
    ThreadLocal<String> threadLocal = new ThreadLocal<>();

    public String getContent() {
        return threadLocal.get();
    }

    public void setContent(String content) {
        threadLocal.set(content);
    }

    public static void main(String[] args) {
        ThreadLocalMainApp app = new ThreadLocalMainApp();
        for (int i = 1; i <= 5; i++) {
            new Thread(() -> {
                try {
                    app.setContent(Thread.currentThread().getName() + "的数据");
                    System.out.println("=======================");
                    System.out.println(Thread.currentThread().getName() + "===>" + app.getContent());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }, "线程" + i).start();
        }
    }

}

 


http://www.kler.cn/news/136817.html

相关文章:

  • WEB前端使用标签制作网页
  • Django学习- ORM基础操作_创建数据
  • 工具:Typora自定义高效率主题
  • 数据结构编程实践20讲(Python版)—19字典树
  • github文件上传与更新
  • dd小程序如何监听props中对象的值
  • 【旅游行业】Axure旅游社交平台APP端原型图,攻略门票酒店民宿原型案例
  • 【经验分享】Ubuntu如何设置swap交换
  • 数据结构【DS】队列的应用
  • V8引擎隐藏类(VIP课程)
  • 2023亚太杯数学建模思路 - 案例:感知机原理剖析及实现
  • Web3 分布式存储 IPFS(Web3项目一实战之四)
  • 轻量封装WebGPU渲染系统示例<36>- 广告板(Billboard)(WGSL源码)
  • “伙伴计划·伙伴领航站”春晖团队在蟠龙社区开展青少年书香阅读陪伴活动
  • 动态顺序表
  • 科大讯飞 vue.js 语音听写流式实现 全网首发
  • 程序员有必要考个 985 非全日制研究生嘛?
  • Linux 时区设置
  • 信息系统项目管理师-范围管理论文提纲
  • house of husk
  • 通过汇编理解cortex-m3:第0章
  • .Net中Redis的Hash表操作
  • 使用大语言模型 LLM 做文本分析
  • lnmp极简保姆级教程(nginx+php+mysql)
  • 常用系统函数
  • 万字解析设计模式之 装饰者模式