共享数据是并发程序最核心的问题之一。下面我们看一个Deom感受一下多线程对属性的影响。
代码:
UnsafeTask.java
package com.tgb.klx.thread;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;
public class UnsafeTask implements Runnable {
private String startDate;
@Override
public void run() {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
startDate=sdf.format( new Date());
System.out.println("开始线程:"+Thread.currentThread().getId()+",开始的时间:"+startDate);
try {
TimeUnit.SECONDS.sleep((int)Math.rint(Math.random()*10));
} catch (InterruptedException e) {
e.p

本文探讨了在并发编程中如何保护线程的局部变量不被其他线程修改,通过示例代码展示了ThreadLocal在Java中的使用,以确保线程内变量的安全性。
最低0.47元/天 解锁文章
924

被折叠的 条评论
为什么被折叠?



