드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바> 메소드 동기화와 블록에 대해서 이해가 안되서 질문합니다.
게시물ID : programmer_4536짧은주소 복사하기
작성자 : 시로소사로소★
추천 : 0
조회수 : 444회
댓글수 : 4개
등록시간 : 2014/07/16 12:03:16
책에서 보면 메소드를 동기화 시키면 속도가 느려져서 블록을 사용하는 것이 좋다고 적혀있습니다. 예시로 들자면
Synchronized a(){}
Synchronized b(){} 가 있다면 이 객체 메소드 2개가 락이 걸려 a만 작업이 필요한데 b도 락이 걸려 속도가 느려지는 것인지요?
그럼 동기화 블록에서
a(){
Synchronized(this){…}
}
b(){
Synchronized(this){…}
}
이 this는 지금 객체에 대한 사용권한을 가지고 있으니 메소드 동기화와 차이가 없지않나요?
그래서
a(){ Synchronized(obj1){…} }
b(){ Synchronized(obj2){…} }
이런식으로 사용하는건지요?
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.