본문 바로가기

강좌/JAVA THREAD

자바 쓰레드(Thread) - 멀티 태스킹 (Multi-Tasking)

1. 멀티 태스킹 - Multi-Tasking (= 멀티프로세스와 거의 유사함)

    * 하나의 CPU가 여러 개의 프로세스를 교대로 수행하는것

    * 각각의 일을 전담하는 해당 프로그램들이 동시에 실행되고 있다는것을 의미

    * 일반적으로 멀티 태스킹을 위해서는 여러 개의 프로세스가 메모리 상에서 동시에 실행

    * 현재 운영체제들이 취한 방식은 멀티 프로세스 시스템이다.

    * 멀티 프로세스 시스템에서 각 프로세스는 동시에 실행되는 것처럼 보이지만, CPU가 하나이기 때문에 , 

      실은 실행 시간을 잘게 나누어서 각 프로세스들이 돌아가면서 CPU를 점유하고 있는 것이다.

    * 프로세스간의 이런 CPU의 점유작업을 ProcessScheduling이라고 한다.

    * 프로세스는 실행중인 프로그램이다.

    * 스케줄러에 의해 처리되는 가장 작은 코드 단위가 프로그램이다.

    * 두개 이상의 프로그램을 실행하는 경우 프로그램끼리 데이터를 교환하기 위해서는

      파일, 공유 메모리, 소켓등을 사용해야만 한다.(RMI)