syncrhonized

    Java 동시성 제어 - 멀티스레드, Syncronized, volatile, Atomic

    멀티스레드 환경에서의 자바 동시성 제어 기법 멀티스레드 프로세스 환경에서의 자바 동시성 기어 제법 들어가기 전에 프로세스와 쓰레드, 멀티쓰레드부터 뭔지 알아보자. 프로세스 실행중인 프로그램(program)이 메모리에 적재되어 실행되는것 프로세스 내에는 코드 영역, 데이터 영역, 스택 영역, 힙 영역이 존재한다. Code 영역 실행한 프로그램의 코드가 저장되는 메모리 영역 (프로그램 명령어, 소스 코드 자체) Data 영역 프로그램의 전역 변수와 static 변수가 저장되는 메모리 영역( 전역변수, static 변수. 정적 ) Heap 영역 프로그래머가 직접 공간을 할당(malloc)/해제(free) 하는 메모리 영역(new() 등 동적) Stack 영역 함수 호출 시 생성되는 지역 변수와 매개 변수가 저..