import java.util.Random;
public class ThreadLocalTest {
static ThreadLocal<Integer> threadLocal = ThreadLocal.withInitial(() -> 123);
public static void main(String[] args) {
Thread thread1 = new Thread(() -> {
Random random = new Random();
while (true) {
int nextInt = random.nextInt();
threadLocal.set(nextInt);
System.out.println("nextInt:" + nextInt + "=" + threadLocal.get());
try {
Thread.currentThread().sleep(200);
}
ThreadLocal把变量绑定到线程
最新推荐文章于 2024-09-05 00:22:28 发布
本文探讨ThreadLocal的工作原理,解释其如何将变量绑定到线程,确保线程安全而不依赖`synchronized`关键字。ThreadLocal内部维护了每个线程自己的threadLocalMap,通过get和set方法在对应线程的map中存取值,避免锁的开销,提供了一种高效的线程隔离策略。
摘要由CSDN通过智能技术生成