동기 (1) 썸네일형 리스트형 [JAVA 자바] synchronized - 스레드 동기화 자바 프로그래밍을 할 때 멀티 스레딩을 하면 각각의 스레드는 독립적으로 동작한다. 하지만 실제 프로그래밍을 할 때에는 스레드들이 연관 관계를 가지면서 작동해야하는 경우가 많다. 예를들어 스레드들이 현재 접속중인 유저수를 공유해야 하는 경우나 은행에서 예금이나 출금을 하는 경우가 있다. 운영체제에서 배웟듯이 이런 변수들은 동시에 접근하게 되면 문제가 발생하게 된다. 예를들어 3개의 스레드가 동시에 예금을 500원식하면 1500원이 되어야 하는데 모두 0원을 가져와 500을 더해서 저장을하면 500원이 저장되게 된다. 이런 문제를 해결하기 위해서는 동기화를 하여야 한다. 자바에서는 스레드를 동기화 하기 위해서 synchronized를 제공한다. 스레드는 synchronized 메소드에 들어가기 위해 lock.. 이전 1 다음