몬그로이

프로세스의 자원을 스레드가 공유한다? 본문

Dev 언어 정리 & Self QnA/Java

프로세스의 자원을 스레드가 공유한다?

Mon Groy 2024. 5. 3. 01:48

운영체제가 컴퓨터 구성품을 컨트롤 하니까 그 구성품들은 운영체제 소유라고 할 수 있다

더보기

대표적으로 메모리, 하드웨어, CPU, 램 등이 있고
그 안에서 생성된 파일이나 네트워크 연결도 포함된다

그 운영체제의 소유물을 프로세스가 요청해서 사용하는 거고

더보기

즉, 프로세스는 운영체제에 의해 관리된다고 할 수 있다

코드로 구성된 프로그램이 하드디스크에 저장되어 있다가

실행되면 프로세스라는 인스턴스가 활동을 하게된다

그 요청해서 받아온 것들을 스레드가 받아서 사용하는 것이다

 

이렇게 말하면 스레드가 프로세스와 완전히 별개일 것으로 보이는데, 아니다

스레드는 프로세스의 한 흐름을 얘기하는데

한 프로세스의 진행이 한 스레드만큼씩 진행한다고 생각하면 된다

 

그렇기 때문에 CPU입장에서는 한 스레드 만큼의 흐름이

처리해야할 작업의 단위인 것이다

 

프로세스의 속도를 높이기 위한 방법으로 스레드가 2개 이상일 경우를 멀티 스레드라고 부르며

스레드들이 한 프로세스를 진행시키기 때문에 같은 자원을 공유하게 되는 것이다