Java Synchronized关键字
2010-08-11 17:48
246 查看
在java中synchronized关键字可以作为方法的修饰符或者在代码块中使用,例如:
public synchronized void doSomething()
synchronized(semaphore) {
...
}
作为方法修饰符的优点有:
同步策略是显式的,并且可以写到api文档中
方法比较基础因而降低了死锁的机会,尽管依然可以比较容易的制造一个
缺点就是:
方法同步性能不高
通常开发者在使用synchronized关键字的时候没有清晰全面的锁策略,这样就会导致有很多的同步内容
在同步代码块中使用的优点有:
可以很好、很容易的控制需要锁定的内容
比方法同步有更好的性能
缺点有:
很容易形成嵌套的同步代码块,因而也容易造成死锁
同步策略不能被文档化,需要查看方法代码才能知道
英文原文:http://codemonkeyism.com/java-interview-question-synchronized/
public synchronized void doSomething()
synchronized(semaphore) {
...
}
作为方法修饰符的优点有:
同步策略是显式的,并且可以写到api文档中
方法比较基础因而降低了死锁的机会,尽管依然可以比较容易的制造一个
缺点就是:
方法同步性能不高
通常开发者在使用synchronized关键字的时候没有清晰全面的锁策略,这样就会导致有很多的同步内容
在同步代码块中使用的优点有:
可以很好、很容易的控制需要锁定的内容
比方法同步有更好的性能
缺点有:
很容易形成嵌套的同步代码块,因而也容易造成死锁
同步策略不能被文档化,需要查看方法代码才能知道
英文原文:http://codemonkeyism.com/java-interview-question-synchronized/
相关文章推荐
- Java synchronized关键字与多线程并发访问
- Java中利用synchronized关键字实现多线程同步问题
- java中synchronized关键字的用法
- 深入理解java中的synchronized关键字
- 高级java必会系列二:多线程经常使用的3个关键字:synchronized、ReentrantLock、volatile
- Java 多线程(六) synchronized关键字详解
- Java多线程中synchronized关键字的使用方法
- Java线程同步机制synchronized关键字的理解
- 对java synchronized 关键字的理解二
- Java的synchronized关键字解析
- java锁理解初步和synchronized关键字
- Java中synchronized关键字修饰方法同步的用法详解
- java synchronized关键字的用法以及锁的等级:对象锁、类锁
- Java 多线程:synchronized 关键字用法
- Java同步关键字Synchronized深入理解
- (转)初学Java多线程:使用Synchronized关键字同步类方法
- Java并发(2) synchronized关键字
- Java中synchronized关键字的使用
- java synchronized关键字的用法
- Java的synchronized关键字:同步机制总结