05:线程封闭

什么是线程封闭:
    数据被封闭到各自的线程中,从而避免使用同步的技术。这个概念称作线程封闭。
为什么提出线程封闭:
    多线程访问共享可变的数据是,涉及到了数据同步问题。但是并不是所有的时候都需要共享数据。所以提出了线程封闭的概念。
Java中线程封闭的具体实现有:ThreadLocal、栈封闭。
    1: ThreadLocal
    是一种线程级别的变量。每个线程都有自己的值。
public class Test {
    public static ThreadLocal<String> var = new ThreadLocal<>(); // 这个变量的值在各个线程中是不同的。
    public static void main(String[] args) throws IOException {
        new Thread(()->{
            var.set("线程1的值");
        }).start();
        new Thread(()->{
            var.set("线程2的值");
        }).start();
        System.out.println();
    }}
    2:栈封闭:
        在线程中定义自己的变量。这样这个变量存在于虚拟机栈中。是线程独有的。

猜你喜欢

转载自www.cnblogs.com/Xmingzi/p/12601038.html