java 线程封闭

2021-08-20  本文已影响0人  瓢鳍小虾虎

多线程访问共享可变数据的时候,会涉及到同步问题,但是有时候我们不需要数据共享,这时候线程封闭就被提出来了。

在java中,线程封闭体现为2种方式:

  1. ThreadLocal
    原理:会自动在每个线程上创建一个T的副本,多个线程互不影响。
    用法:ThreadLocal<T> local = new ThreadLocal<T>();
    例子:


    image.png
    image.png
    image.png
  2. 局部变量(栈封闭)
    原理:局部变量存在于线程的栈中,因此多线程情况下本身就是相互隔离的,多线程不能互相访问。

上一篇 下一篇

猜你喜欢

热点阅读