계속 쓰레드 공부를 미뤄오다가 최근에 쓰레드에 대해서 공부하게 되었습니다.
근데 동기화에서 계속 개념이 헷깔려서 고수님들의 도움을 얻고자 이렇게 질문을 남깁니다. 아놔 원래 질문 진짜 안하는데;;;
'락' 이라는 개념에 대해서 입니다.
자바에서 동기화를 시킬때 synchronized 키워드를 씁니다.
제가 알기론 this를 날리면 this 객체에 대한 락을 가지지 않은 쓰레드는 this 객체에 접근을 못한다고 알고 있습니다.
비록 synchronized(this){ }의 블록이 함수 내에서 사용되더라도 그 블록 안에서 쓰레드가 돌고 있다면
'다른 쓰레드는 인자로 날린 객체에 접근을 못한다' 라고 알고 있습니다.
근데 제가 테스트 해본결과 다른 쓰레드가 this 객체의 함수를 호출 가능했습니다. 젠장!!