Java ThreadLocal多线程操作各自自己的对象 Demo

  • 代码
package threadlocal;

public class ThreadLocalDemo {
    public static void main(String[] args) {
        AccessCount accessCount = new AccessCount();
        new Thread(()->{
            for (int i = 0; i < 10; i++) {
                Integer get = accessCount.counts.get();
                if (get == null){
                    accessCount.counts.set(1);
                }else {
                    accessCount.counts.set(get+1);
                }
            }
            System.out.println(Thread.currentThread().getName()+" count"+accessCount.counts.get());
        }).start();
        new Thread(()->{
            for (int i = 0; i < 10; i++) {
                Integer get = accessCount.counts.get();
                if (get == null){
                    accessCount.counts.set(1);
                }else {
                    accessCount.counts.set(get+1);
                }
            }
            System.out.println(Thread.currentThread().getName()+" count"+accessCount.counts.get());
        }).start();
    }
}
class AccessCount{
    public ThreadLocal<Integer> counts = new ThreadLocal<>();
}

  • 运行结果
    在这里插入图片描述
posted @   HumorChen99  阅读(6)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示