多线程之:线程安全
2015-11-28 22:09
381 查看
线程安全是指:没有竞态条件,允许被多个线程同时执行,且执行结果幂等程序块。
java代码多线程环境下安全的资源:
1、基本数据类型的局部变量;
2、未被作为返回值、未被传递到其它线程访问的方法中的非基本数据类型的局部变量;
3、受线程控制且未产生逃逸的资源;
4、共享状态本身是同步的的资源。
线程控制逃逸指:资源的创建、使用、销毁都在同一个线程中,且永远不会脱离该线程的控制。
不安全的资源:
1、java类的对象成员变量;
2、不同步的共享状态;
3、产生线程控制逃逸的的资源;
4、对象的引用不是线程安全的,即使是一个不可变对象。
java代码多线程环境下安全的资源:
1、基本数据类型的局部变量;
2、未被作为返回值、未被传递到其它线程访问的方法中的非基本数据类型的局部变量;
3、受线程控制且未产生逃逸的资源;
4、共享状态本身是同步的的资源。
线程控制逃逸指:资源的创建、使用、销毁都在同一个线程中,且永远不会脱离该线程的控制。
不安全的资源:
1、java类的对象成员变量;
2、不同步的共享状态;
3、产生线程控制逃逸的的资源;
4、对象的引用不是线程安全的,即使是一个不可变对象。
相关文章推荐
- jquery自定义插件
- 《精通CSS》阅读备忘
- dedecms织梦获得首字母或拼音的方法,并实现文章列表按首字母归类
- CSS3的过渡属性简单实例
- SlidingMenu
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释
- 第五、六章:图像&链接
- java中String new和直接赋值的区别
- Vc中结构体小计
- Best Time to Buy and Sell Stock IV
- 【简易通讯录】——C语言实现
- redhat6 在字符界面下安装图形界面。
- 数据结构——双向链表实现,基本操作的C++版
- 一个人花8块钱买了只鸡,9块钱卖了,又10块钱买回来,11块钱又卖了,他赚了多少钱?
- perl - 文件操作(一)
- Java中的基本数据类型转换
- KT学算法(四)——找数组中出现超过一半的数字的优雅解和拓展
- 读书笔记
- LVS Nginx HAProxy 优缺点
- 【FastDev4Android框架开发】实例解析之SwipeRefreshLayout+RecyclerView+CardView(三十五)