관리 메뉴

MOMONOTE

스레드, 프로세서 용어정리 본문

JAVA/JAVA (basic)

스레드, 프로세서 용어정리

momo0503 2021. 2. 3. 21:31

운영체제에서 실행 중인 하나의 애플리케이션을 프로세스(process)라고 부르고,

작업의 단위를 스레드라고 부른다(프로세스 내에서 실제로 작업을 수행하는 주체). 

사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는데 이것이 프로세스다. 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다.

 

멀티태스킹

두 가지 이상의 작업을 동시에 처리하는 것. 

운영체제는 멀티 태스킹을 할 수 있도록 CPU 및 메모리 자원을 프로세스마다 적절히 할당하고, 병렬로 실행시킨다.

멀티태스킹이 멀티 프로세스를 뜻하는 것은 아니다. 한 프로세스 내에 멀티 태스킹을 할 수 있다.

 

스레드

한 가지 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어 놓았다고 해서 유래된 이름이다. 하나의 스레드는 하나의 코드 실행 흐름이기 때문에 한 프로세스 내에 스레드가 두개면 두개의 코드 실행 흐름이 생긴다. 멀티 프로세스가 애플리케이션 단위의 멀티 태스킹이라면 멀티 스레드는 애플리케이션 내부에서의 멀티 태스킹이라고 볼 수 있다.

 

멀티 프로세스 안에 여개의 프로세스들이 있고 각각의 프로세스 안에 스레드가 하나인지, 멀티 스레드인지 의 차이? 랄까

 

 

'JAVA > JAVA (basic)' 카테고리의 다른 글

제네릭  (0) 2021.02.03
자바 컬렉션 프레임워크  (0) 2021.01.15
자바 API 클래스  (0) 2021.01.13
예외  (0) 2021.01.13
중첩 클래스, 중첩 인터페이스  (0) 2021.01.13
Comments