Java语言包含两种内在的同步机制
来源:互联网 发布:关于淘宝货源 编辑:程序博客网 时间:2024/05/22 13:11
Java 语言包含两种内在的同步机制(都是为了实现代码线程的安全性):
(1)同步块(或方法)。即被synchronized 修饰的变量和方法。
(2) volatile 变量。 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized
”;与 synchronized
块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized
的一部分。
正确使用volatile的条件:
条件解释:
在使用volatile关键字时要慎 重,并不是只要简单类型变量使用volatile修饰,对这个变量的所有操作都是原来操作,当变量的值由自身的上一个决定时,如n=n+1、n++ 等,volatile关键字将失效,只有当变量的值和自身上一个值无关时对该变量的操作才是原子级别的,如n = m + 1,这个就是原级别的。所以在使用volatile关键时一定要谨慎,如果自己没有把握,可以使用synchronized来代替volatile。
具体例子可以参照:http://student.csdn.net/space.php?uid=44933&do=blog&id=10669
- Java语言包含两种内在的同步机制
- ViewPager动态更新及两种PagerAdapter的内在区别
- 【Java并发编程】内在锁和同步
- 在页面中包含两种语言编码的方法
- java 同步的两种方法
- java实现同步的两种方式
- 交换机的管理方式及内在机制
- java的同步机制
- Java的同步机制
- java的语言特性,跨平台原理和两种核心机制(个人总结)
- Java 的两种重要机制
- C、C++、C#、Java、php、python语言的内在特性及区别
- 内在锁和同步
- Java同步机制的应用
- java的同步机制synchronize
- Java多线程的同步机制
- Java多线程的同步机制
- java的同步机制synchronized
- 研讨如何进行Lucene的分布式应用
- 转载资料
- WNDCLASS结构介绍
- Qt编写跨平台GIS出图工具之准备
- 奇偶排序java实现
- Java语言包含两种内在的同步机制
- 每日暂时安排
- Java多线程编程环境中单例模式的实现
- 数据结构的重要性
- HANDLE HMODULE HINSTANCE HWND有什么区别
- 取消页面刷新时产生的声音
- 【文摘】2008年度_Atom处理器
- ASP.NET的ACCESS数据库操作类
- 网站收集