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

java的ThreadLocal

2015-07-24 10:55 351 查看
刚刚接触到ThreadLoacl。

再看别人博客的时候发现线程同步和线程安全的区别都不清楚,先来了解一下线程同步和线程安全的区别吧。

线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是低依靠线程同步

首先来看看线程安全的实现原理: jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个变量进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操作同一个变量,就可能会出现不可预知的结果。用synchronized的关键是建立一个镜像,这个镜像可以是要修改的变量也可以其他你认为合适的对象比如方法和类,然后通过给这个镜像加锁来实现线程安全,每个线程在获得这个锁之后,要执行完才会释放它得到的锁。这样就实现了所谓的线程安全。

在JDK的集合框架中,有一些是线程安全的,比如:Hashtable、Vector等,这些接口由于本身的代码中就实现了同步,但是运行时效率比较低。

进入到ThreadLocal的学习:参照的博客:

/article/1647599.html

感谢博主分享!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: