본문
동기화(synchronized)
프로그래밍/Java 2016. 10. 16. 21:16
반응형
# 동기화(synchronized)
한 번에 하나의 쓰레드만 객체에 접근할 수 있도록 객체에 락(lock)을 걸어서 데이터의 일관성을 유지하는 것.
자바에서는 키워드 synchronized를 통해 해당 작업과 관련된 공유데이터에 lock을 걸어서 먼저 작업 중이던 쓰레드가 작업을 완전히 마칠 때 까지는 다른 쓰레드에게 제어권이 넘어가더라도 데이터가 변경되지 않도록 보호함으로써 쓰레드의 동기화를 가능하게 한다.
synchronized 블록을 수행하는 동안은 지정된 객체에 lock이 걸려서 다른 쓰레드가 이 객체에 접근할 수 없게 된다.
- 출처 : JAVA의정석(남궁성 저)
반응형
댓글