동시성 제어
Java 동시성 제어 - 멀티스레드, Syncronized, volatile, Atomic
멀티스레드 환경에서의 자바 동시성 제어 기법 멀티스레드 프로세스 환경에서의 자바 동시성 기어 제법 들어가기 전에 프로세스와 쓰레드, 멀티쓰레드부터 뭔지 알아보자. 프로세스 실행중인 프로그램(program)이 메모리에 적재되어 실행되는것 프로세스 내에는 코드 영역, 데이터 영역, 스택 영역, 힙 영역이 존재한다. Code 영역 실행한 프로그램의 코드가 저장되는 메모리 영역 (프로그램 명령어, 소스 코드 자체) Data 영역 프로그램의 전역 변수와 static 변수가 저장되는 메모리 영역( 전역변수, static 변수. 정적 ) Heap 영역 프로그래머가 직접 공간을 할당(malloc)/해제(free) 하는 메모리 영역(new() 등 동적) Stack 영역 함수 호출 시 생성되는 지역 변수와 매개 변수가 저..
동시성 제어, 동시성 이슈
동시성 제어란 동시성 제어(Concurrency Control)란 다중 사용자 환경을 지원하는 데이터베이스 시스템에서 동시에 실행되는 여러 트랜잭션간의 간섭으로 문제가 발생하지 않도록 트랜잭션의 실행순서를 제어하는 기법 다중 사용자 환경을 지원하는 DB system의 경우 필수적으로 지원해야 하는 기능으로 병행제어라고도 한다. 동시성 제어(concurrency control)는 가능한 빠른 조회와 동시에 병행되는 동작의 정확한 결과가 발생하는 것을 보증한다. 동시성 제어는 데이터베이스에서 발생하는 작업의 동시 실행을 제어하는 데 필요한 관리 절차. 그러나 동시성 제어에 대해 알기 전에 동시 실행(Conccurent Execution에 대해 알아야 한다. Concurrent Execution in DBMS..