Dev 언어 정리 & Self QnA/Java
프로세스의 자원을 스레드가 공유한다?
Mon Groy
2024. 5. 3. 01:48
운영체제가 컴퓨터 구성품을 컨트롤 하니까 그 구성품들은 운영체제 소유라고 할 수 있다
더보기
대표적으로 메모리, 하드웨어, CPU, 램 등이 있고
그 안에서 생성된 파일이나 네트워크 연결도 포함된다
그 운영체제의 소유물을 프로세스가 요청해서 사용하는 거고
더보기
즉, 프로세스는 운영체제에 의해 관리된다고 할 수 있다
코드로 구성된 프로그램이 하드디스크에 저장되어 있다가
실행되면 프로세스라는 인스턴스가 활동을 하게된다
그 요청해서 받아온 것들을 스레드가 받아서 사용하는 것이다
이렇게 말하면 스레드가 프로세스와 완전히 별개일 것으로 보이는데, 아니다
스레드는 프로세스의 한 흐름을 얘기하는데
한 프로세스의 진행이 한 스레드만큼씩 진행한다고 생각하면 된다
그렇기 때문에 CPU입장에서는 한 스레드 만큼의 흐름이
처리해야할 작업의 단위인 것이다
프로세스의 속도를 높이기 위한 방법으로 스레드가 2개 이상일 경우를 멀티 스레드라고 부르며
스레드들이 한 프로세스를 진행시키기 때문에 같은 자원을 공유하게 되는 것이다