728x90

 

프로세스와 쓰레드

- 공유한다는 것은 쓰레드는 Code, Data, Heap 영역이 없다고 생각하면 됨

- Code 영역에는 코드(함수)가 올라가는데 함수에는 전역 함수, main함수가 있음

- main은 하나의 흐름이고 흐름이 2개 이상이라는 것은 main 함수 역할을 하는 함수가 2 이상이라는 의미

- main이 실행되는 동안에 main 함수 역할을 함수가 실행이 되는 구조로 코드가 작성이 됨

- 그런 함수를 쓰레드가 실행을 함

- 결국 프로세스와 쓰레드는 Code, Data, Heap 영역을 공유하기 때문에 쓰레드는 프로세스에 선언된 전역 함수, 전역 변수, 동적 할당한 메모리에 접근이 가능

- 프로세스는 자식 프로세스를 생성하면 공유가 불가능하기 때문에 IPC를 통해서 데이터를 주고받았지만 쓰레드는 메모리 공간 자체를 공유하기 때문에 별도의 통신 기법이 필요가 없음

- 프로세스는 쓰레드보다 안 좋은 것이 아닌 사용되는 상황이 다름

728x90

+ Recent posts