다른 스레드에서 잠긴 개체의 메서드를 호출 할 수 있습니까?
synchronized(object) {
...
}
스레드 2에서
를 호출 할 수 있습니까 아니면 각각
synchronized(object) {
object.method();
}
을 입력해야합니까? 쓰레드 2가 쓰레드 1이 락을 잡고있는 동안 메소드를 호출하지 못하도록하려면?
제 경우에는 ConcurrentModificationExceptions을 Map을 반복하면서 얻었고 맵을 잠그면 다른 스레드에서 수정을 막으려 고했습니다. 그리고 종종 ConcurrentModificationExceptions의 이유는 반복되는 동안지도가 변경된다는 것입니다. 그러나이 경우에는 "get"문구와 하나의 메서드 호출 만 있으므로 내 사건에는 해당하지 않는다고 확신합니다. 어떤 수정도 일어날 수 없다.
미리 감사드립니다.
Binabik
방법 코드를 공유하는 데주의해야합니까? 어쩌면 당신이 생각하지 못했던 무언가가있을 것입니다 – Guillaume