ThreadLocal中怎么实现线程局部变量
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,ThreadLocal中怎么实现线程局部变量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。public class ThreadLoca
千家信息网最后更新 2025年02月05日ThreadLocal中怎么实现线程局部变量
ThreadLocal中怎么实现线程局部变量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
public class ThreadLocal1 { volatile static Person p = new Person(); public static void main(String[] args) { new Thread(()->{ try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(p.name); }).start(); new Thread(()->{ try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } p.name = "lisi"; }).start(); }}class Person { String name = "zhangsan";}
不想让另一个线程改成lisi
/** * ThreadLocal线程局部变量 * * ThreadLocal是使用空间换时间,synchronized是使用时间换空间 * 比如在hibernate中session就存在与ThreadLocal中,避免synchronized的使用 * * 运行下面的程序,理解ThreadLocal **/ public class ThreadLocal2 { //volatile static Person p = new Person(); static ThreadLocaltl = new ThreadLocal<>(); public static void main(String[] args) { new Thread(()->{ try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(tl.get()); }).start(); new Thread(()->{ try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } tl.set(new Person()); }).start(); } static class Person { String name = "zhangsan"; }}
看完上述内容,你们掌握ThreadLocal中怎么实现线程局部变量的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
线程
变量
局部
内容
方法
时间
更多
空间
问题
束手无策
为此
原因
对此
技能
程序
篇文章
经验
行业
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
幼儿园信息技术网络安全
方城客户管理软件开发公司
网络安全保卫开展保密学习
在数据库加载的菜单如何修改
金10数据库技术
25岁学软件开发
关于重视网络安全的情况报告
上海网络技术服务生产过程
吉大wind数据库
一元互联网科技有限公司
成都的网络安全公司
黄河服务器售后上课
江西服务器防火墙设置
有什么软件开发
亚信安全服务器激活码
mysql数据库写入空数据
情智意科技互联网营销平台
梦幻西游各服务器门派闯关统计
股票历史详细数据库
软件开发周期的图像描述
区块链与网络安全保险
服务器访问数据库用什么技术
软件防火墙服务器
编程软件开发需要加班吗
学软件开发学校
徐州江苏大容量服务器服务商
视图对于数据库安全性的影响
服务器的安全协议是
数据库逻辑模型分析
苹果服务器是什么