게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바> 메소드 동기화와 블록에 대해서 이해가 안되서 질문합니다.
게시물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){…} }

이런식으로 사용하는건지요? 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호