- 프로세스

운영체제에서는 실행 중인 하나의 애플리케이션
사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는 것


- 멀티 태스킹 

: 두 가지 이상의 작업을 동시에 처리하는 것
운영체제는 멀티 태스킹을 할 수 있도록 CPU 및 메모리 자원을 프로세스마다 적절히 할당하고, 병렬로 실행시킴

- 스레드 : 한 가닥의 실. 한가지 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어 놓았다해서 유래된 이름
   

* 멀티 태스킹 != 멀티 스레드
* 멀티 프로세스 > 프로세스들 > 하나의 프로세스 안 싱글 스레드, 멀티 스레드 존재

 


- 멀티 프로세스 

: 운영체제에서 할당받은 자신의 메모리 가지고 실행하기 때문에 서로 독립적 -> 오류 발생해도 다른 프로세스 영향 미치지 않음

BUT, 멀티 스레드는 하나의 프로세스 내부에 생성되기 때문에 하나의 스레드가 예외 발생 시키면 프로세스 자체가 종료 될 수 있어서 다른 스레드에 영향 미치게 됨 -> 예외 처리 중요


- 멀티 스레드는 실행중인 어플리케이션 하나라도 있으면, 프로세스 종료되지 않음

- 사용

대용량 데이터의처리 시간을 줄이기 위해 데이터를 분할해 병렬로 처리하는 곳, UI를 가지고 있는 애플리케이션에서 네트워크 통신하기 위해 사용
다수 클라이언트의 요청을 처리하는 서버 개발할 때에도 사용
애플리케이션 개발에 중요한 기능이기 때문에 이해 필요

 

 

-<이것이 자바다1>. 한빛 미디어  

'JAVA' 카테고리의 다른 글

멀티 스레드_3  (0) 2019.06.19
멀티 스레드_2  (0) 2019.06.18
기본 API 클래스  (0) 2019.06.18
예외 처리  (0) 2019.06.18
중첩 클래스 예제  (0) 2019.06.18

+ Recent posts