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

java并发编程学习笔记1

2016-01-09 17:20 330 查看
synchronized关键字

 
            synchronized关键字是Java中比较常用的同步方法,使用简单方便,不用用户自己设置锁的类别,synchronized可用于method,也可以用于某一块的代码,称之为同步代码块
 

volatile关键字

 
            volatile关键字常用于标记位,当一个变量使用volatile的时候,表示使用该变量直接操作主存区,而不是复制其变量到相应线程的堆栈区,因此,当volatile变量变化后将会通知到所有的线程,因为该存储区域是共享的。但是,volatile并不能保证原子操作,因此它是一个稍弱的同步修饰

explicit lock



 
 
            明确锁,可以在任何的地方使用,因此可以圈定很小的同步范围,灵活多变。

nested lock

 
            嵌入锁的出现是因为在多线程中,常会出现相互调用,如果没有nested lock,极容易导致死锁,比如当前线程去调用另一个线程的同步方法,而在同步方法中又调用原线程的方法,将会出现死锁。nested lock会统一一个变量,在递归调用时候+1,而调用完就-1,当为0 的时候意味着出了自身没有其他人调用自身方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: