线程封闭概念
为什么要有线程封闭这个概念呢?
- 多线程中访问共享可变数据时,涉及到线程间数据同步的问题。并不是所有时候都需要共享数据。所以线程封闭概念就出来了。
在Java中线程封闭该怎么做呢?
- 可以通过两个方法来做
- ThreadLocal
1. ThreadLocal是一个线程级别的变量,每个线程都有一个私有的独立的栈空间,而ThreadLocal就存储在这个空间。所以在高并发的情况下,ThreadLocal是绝对的线程安全的。
2. 我们可以在ThreadLocal中存储每个线程独有的数据以便线程中多个方法使用,,用来替代方法传参。
3. 就是说可以用来保存跨方法使用并且每个线程都独立拥有的参数。
- 局部变量
- 局部变量固有的属性就是封闭在线程当中,它位于执行线程的栈中,其它线程无法访问这个栈。
- 栈中有一个局部变量表,专门保存局部变量的。每个线程都有一个自己线程栈,线程栈中有一个局部变量表,局部变量表中保存局部变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)