본문 바로가기
728x90
반응형

쓰레드2

동기화(Synchronization) 프로세스 동기화란? 프로세스들이 공유 자원을 사용할 때 일련의 규칙을 지키도록 하는 것 상호 협력하는 다수의 프로세스들이 공유 자원 혹은 데이터를 사용하는 경우, 경쟁 상태(Race Condition)으로 인해 그 공유 자원을 신뢰할 수 없게 된다. 경쟁 조건이란? 여러 프로세스가 공유 데이터를 동시에 접근할 때 공유 데이터에 대한 접근 순서에 따라 실행 결과가 달라지는 상황 임계 구역(Critical section) 둘 이상의 프로세스 혹은 쓰레드가 공유하는 자원이지만 동시에 둘 이상의 프로세스가 접근 할 수는 없고 특정 시간에 오직 하나의 프로세스만 접근 가능한 코드 영역 EX) 은행 계좌 은행 계좌는 입금과 출금 동기화가 올바로 이루어져야 은행 시스템을 신뢰할 수 있다. 입금 프로세스가 처리되고 있.. 2019. 4. 17.
쓰레드(Threads) 프로그램이란? 어떤 작업을 위해 실행 할 수 있는 파일 프로세스란? 실행 중인 프로그램 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신(IPC, inter-process communication)을 사용해야 한다. 쓰레드란? 프로세스 내에서 실행되는 흐름의 단위 프로세스의 특정한 수행 경로 프로세스가 할당받은 자원을 이용하는 실행의 단위 스레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Code,.. 2019. 4. 17.
728x90
반응형