ThreadLocalか。
2017/01/10
2021/03/14
Javaです。ThreadLocalです。
結果
Webとかで使う場合、スレッドが再利用されるので、しっかり後片付けしないとだめだよ。
参考
package a;
public class TestThreadLocal {
static class A {
final ThreadLocal<String> value1 = new ThreadLocal<>();
String value2;
void setValue(String value) {
this.value1.set(value);
this.value2 = value;
}
void print(String marker) {
System.out.printf("%s value1:%s value2:%s threadName:%s%n", marker, this.value1.get(), this.value2, Thread.currentThread().getName());
}
}
public static void main(String[] args) throws InterruptedException {
final A a = new A();
a.print("a1==>");
a.setValue("a");
a.print("a2==>");
new Thread(new Runnable() {
@Override
public void run() {
a.print("b1==>");
a.setValue("b");
a.print("b2==>");
}
}).start();
Thread.sleep(1);
new Thread(new Runnable() {
@Override
public void run() {
a.print("c1==>");
a.setValue("c");
a.print("c2==>");
}
}).start();
Thread.sleep(1);
a.print("a3==>");
}
}
結果
Webとかで使う場合、スレッドが再利用されるので、しっかり後片付けしないとだめだよ。
参考

: