프로세스란 운영체제로부터 자원(공간)을 할당받은 작업의 단위입니다.
프로그램과 프로세스의 차이점은 프로그램은 실행되지않은 정적인 파일(*.EXE, *.TXT)이고 프로세스는 프로그램을 더블클릭해서 실행시킨 즉 메모리에 공간을 할당해준 것을 의미합니다.
프로그램 | 프로세스 |
---|---|
이렇게 보면 이해가 잘 됩니다 ㅎㅎㅎㅎ.
스레드란 프로세스 실행 단위이며 하나의 프로세스는 여러개의 쓰레드로 구성이 가능합니다.
스레드는 프로세스에 할당된 메모리, 자원 등을 공유합니다.
스레드는 아래의 그림을 보면 알 수 있듯이 한번에 한개의 스레드만 실행이 가능합니다.
코드에 대입시켜보면 스레드는 main 함수와 같다고 보시면 됩니다