java多线程快速入门(十六)
ThreadLocal关键字实现每个线程有自己的变量
package com.cppdy; class Number { private int num; public static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>() { @Override protected Integer initialValue() { return 0; } }; public Number(int num) { this.num = num; } public int getNum() { int temp = threadLocal.get(); threadLocal.set(temp+1); int count=threadLocal.get(); return count; } } public class ThreadDemo12 extends Thread { private Number n; public ThreadDemo12(Number n) { this.n = n; } @Override public void run() { System.out.println(getName() + "--" + n.getNum()); } public static void main(String[] args) throws Exception { Number n1 = new Number(0); ThreadDemo12 mt1 = new ThreadDemo12(n1); ThreadDemo12 mt2 = new ThreadDemo12(n1); ThreadDemo12 mt3 = new ThreadDemo12(n1); mt1.start(); mt2.start(); mt3.start(); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步