프로세스(Process) 와 쓰레드(Thread) 에 대해 알아보자.


먼저 프로세스란 실행되고 있는 프로그램이라 보면 되겠다.


디스크에 저장되어있던 프로그램이 실행되면 메모리로 복사되는 로딩과정을 거친 후 


메모리에 올라간 프로그램( 명령어 집합 ) 을 차례차례 읽어 나가며 실행시킬 것 이다 .


같은 프로그램을 여러개 실행시켜 같은 프로세스가 여러번 올라간다 하더라도

프로세스들은 부모 프로세스와 자식 프로세스가 존재하며, 

각각의 프로세스들은 자원을 공유하지 않으며, 운영체제에 의해 메모리 구역이 보호 된다.







스레드란 프로세스내의 프로그램 흐름을 생각하면 된다.

C 언어를 처음 배우고 나서 프로그램을 해보았을 때

main 함수에서부터 위에서 아래로 흐르는 흐름을 봤을 것이다.


이 흐름자체가 하나의 스레드이다 . ( 메인 쓰레드 )


즉, CPU가 명령어를 실행하는 하나의 객체 단위이며 같은 프로세스내에 존재하기 때문에

각각의 자원들을 공유할 수 있다.

( 쓰레드끼리는 각각의 독립된 스택을 가짐. )


메인 쓰레드 외에도 프로그래머의 요구에 맞춰 쓰레드를 생성할 수 있다.


한 프로세스의 지배를 받기 때문에 해당 프로세스가 종료되면 쓰레드 또한 모두 종료가 된다 .



그럼 프로세스와 쓰레드를 만들어보자 .



[Programing/Win32API] - 프로세스, 스레드 생성



잘못된 내용은 거침없이 지적해주세요

'Programing > Win32API' 카테고리의 다른 글

바이트 순서 ( 엔디언 표기법 )  (0) 2015.11.18
CreateProcess , CreateThread  (0) 2015.09.26
대화상자 모달, 모달리스  (0) 2015.09.19
윈도우 기반의 TCP 소켓 통신 ( C )  (0) 2015.09.12
WinAPI 의 CALLBACK 함수  (0) 2015.09.12

+ Recent posts