java 线程封闭

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

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

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


    image.png

    image.png

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

你可能感兴趣的:(java 线程封闭)