您的位置:首页 > 编程语言 > Java开发

Java中的闪光点:ThreadLocal是线程Thead的局部变量,可替代同步机制的设计,值得学习和研究

2016-01-22 09:54 337 查看
线程局部变量ThreadLocal,是Java支持的一种线程安全机制,目的是解决多线程的并发问题。

具体来讲,就是多个线程访问该实例对象的变量时,该实例对象将其存储为键值对的形式,保证各个线程(键)分别对应一份该变量值(值),从而保证多线程变量值得安全访问。

ThreadLocal与同步机制比较

同步机制:用锁机制保证同一时间只有一个线程访问变量(用时间换空间),变量是多线程共享的,设计时要缜密分析什么时候读写?什么时候锁定?什么时候释放?

ThreadLocal:提供每个线程一个独立的变量副本(用空间换时间)。

TheadLocal的四个接口方法:

1.public void set(Object value) 设置当前线程局部变量

2.public Object get() 获取当前线程局部变量

3.public void remove() 删除当前线程局部变量

4.protected Object InitialValue() 初始化线程局部变量初始值,默认返回null,可重写改变返回值

转:http://blog.csdn.net/qjyong/article/details/2158097
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: