본문 바로가기
Java

[ JAVA ] synchronized VS Reentrant Lock

by 소여물리에 2023. 8. 14.

synchronized과 Reentrant Lock 차이점

 

  • synchronized
    • 쓰레드 진입권 획득 순서 보장 안됨
    • 개발자의 실수로 lock 해지하지 않는 경우 없음
    • 코드 간결하게 사용 가능
  • Lock
    • 어떤 쓰레드가 먼저 락을 획득하게 될지 순서 지정 가능
    • 인스턴스에 한개 이상의 condition 지정 가능
      • ex) lockInterruptibly(), tryLock()
    • lock 기다리고 있는 쓰레드 목록 간편하게 확인 가능

 

 

 

 

 

 

반응형