반응형 동시성1 [Java(자바)] synchronized keyword 와 final 필드(field) 멀티 스레드 프로그램에서 여러 쓰레드(Thread)가 동시에 하나의 자원에 접근할 수 있다. 여러 쓰레드가 동시에 공유 자원에 대한 수정을 할 경우 동시성 문제가 발생할 수 있다. 자바(Java)에서는 다행히 synchronized 라는 키워드를 제공하여 별도의 라이브러리를 사용하지 않고도 손쉽게 멀티 쓰레드 환경에서의 동시성 제어를 구현할 수 있다. synchronized 키워드를 사용할 때 변수를 명시하여 해당 변수에 접근하는 쓰레드를 줄 세울 수 있다. 예를 들어 다음과 같은 코드를 보면, synchronized 키워드와 함께 레퍼런스(Reference;참조) 변수를 넘겨줬다. 두 개의 쓰레드가 같은 코드를 수행할 때, 이 레퍼런스 변수를 기준으로 줄서게 된다. 이 코드를 실행하면 다음과 같은 결과.. 2019. 1. 4. 이전 1 다음 반응형