TreadLocal
线程局部变量
初始化一个线程局部变量,每个线程都有自读独一份的局部变量不会被其他线程读取,代码展示如下
public class T <V>{
static ThreadLocal<Person> tl = new ThreadLocal();
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(tl.get());
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
tl.set(new Person());
System.out.println(tl.get());
}
}).start();
}
}
class Person{
String name = "高一";
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
'}';
}
}
线程池
线程池本质上只是将线程早早的启动起来,等待任务的到来,任务到来后,不同的线程池会根据自己的特性来对线程进行不同的处理,具体的情况要具体处理,由于太多,我在下面放一张图,是我看马士兵老师的公开课时候的一个总结,大家可以去B站看看老师的视频。以后有时间我也会将自己的解析写出来。


4294

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



