我很想知道synchronized关键字在java中的实际功能如何,我有以下代码片段可以说 - :
synchronized(lockObject){
// some activity
}
如果synchronized语句无法获得锁定它会再次尝试,或者我应该将它放在while循环中,如果你能解释为什么会发生这种情况会很好。
之间有什么区别
synchronized(lockObject){
}
和
while(true){
synchronized(lock_object){
break;
}
}
答案 0 :(得分:1)
实际上没有区别。如果锁定尚未可用,则同步块将一直等到锁定可用。没有必要循环。