码迷,mamicode.com
首页 > 编程语言 > 详细

05:线程封闭

时间:2020-03-30 21:45:12      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:pre   div   class   col   技术   cal   定义   共享数据   var   

什么是线程封闭:
    数据被封闭到各自的线程中,从而避免使用同步的技术。这个概念称作线程封闭。
为什么提出线程封闭:
    多线程访问共享可变的数据是,涉及到了数据同步问题。但是并不是所有的时候都需要共享数据。所以提出了线程封闭的概念。
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:栈封闭:
        在线程中定义自己的变量。这样这个变量存在于虚拟机栈中。是线程独有的。

05:线程封闭

标签:pre   div   class   col   技术   cal   定义   共享数据   var   

原文地址:https://www.cnblogs.com/Xmingzi/p/12601038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!