轻松了解threadlocal

ThreadLocal是什么
ThreadLocal是一个关于创建线程局部变量的类。
通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。
Local
•Local 意思是该线程的ThreadLocal只能被该线程访问,一般情况下其他线程访问不到
用法简介
创建,支持泛型
ThreadLocal mStringThreadLocal = new ThreadLocal<>();
set方法:
mStringThreadLocal.set(“baidu.com”);
get方法
mStringThreadLocal.get();
完整的使用示例
private void testThreadLocal() {
Thread t = new Thread() {
ThreadLocal mStringThreadLocal = new ThreadLocal<>();
@Override
public void run() {
super.run();
mStringThreadLocal.set(“baidu.com”);
mStringThreadLocal.get();
}
};
t.start();
}
ThreadLocal初始值
ThreadLocal mThreadLocal = new ThreadLocal() {
@Override
protected String initialValue() {
return Thread.currentThread().getName();
}
};
在此程序中需要对initialValue进行重写

猜你喜欢

转载自blog.csdn.net/qq_42354304/article/details/82806686
今日推荐