1. synchronized method
public synchronized void increment() { // critical section }
public synchronized void decrement() { // critical section }
public synchronized void decrement() { // critical section }
2. Synchronized Statements
public void increment() {
synchronized(this) {
// critical section
}
}
synchronized(this) {
// critical section
}
}
從Synchronized Statements注意到,synchronized是針對整個物件做lock,故如果Class有多的地方使用的 synchronized功能,須注意到是否會產生deadlock。
Reference :
[1] http://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html
沒有留言:
張貼留言