프로세스(process) 와 스레드(thread)의 차이, 비전공자도 이해할 수 있는 쉬운 설명


프로세스(process) 와 스레드(thread)의 차이, 비전공자도 이해할 수 있는 쉬운 설명

스레드(thread) 란? 컴퓨터 실행 체계의 단위로써 최신 운영체제의 필수요소 중 하나. 프로세스보다도 작은 실행 흐름의 최소 단위이다. 예전에는 프로그램을 실행하는 흐름이 오로지 프로세스뿐이었으나, 소프트웨어가 진보하면서 하나의 프로그램에서 복잡한 동시 작업을 요구하기 시작하였다. 이를 위해서는 하나의 프로그램이 여러개의 프로세스를 만들어야 했는데 프로세스 특성상 하나의 프로그램이 이러한 동시 작업을 수월하게 할 수가 없었다. 그래서 프로세스보다 더 작은 실행 단위 개념이 만들어지게 되는데 이것이 스레드이다. 하나의 프로세스에서 여러개의 스레드가 메모리를 공유하여 작동할 수 있으며, 그래서 생성과 속도가 빠르고, 적은 메모리를 점유하며, 정보 교환이 쉽고 Context Switcing 부하가 적지만 그 대가로 자원 선점과 동기화 문제를 얻게 되었다. 대다수 OS의 스케줄러는 스레드를 최소 단위로 하여 작동한다. CPU 사양 상에서 4코어 8스레드 등으로 언급되는 스레드는 위에서 ...



원문링크 : 프로세스(process) 와 스레드(thread)의 차이, 비전공자도 이해할 수 있는 쉬운 설명