본문 바로가기

강좌/JAVA THREAD

자바 쓰레드(Thread) - 멀티 쓰레드(Multi-Thread)

* 스레드 기반 멀티 태스킹에서는 스레드가 가장 작은 코드 단위이다.

* 즉, 단일 프로그램이 두개 이상의 태스크(task)를 동시에 수행할 수 있다는 것을 의미(멀티쓰레딩)

* 프로그램에서 발생하는 유휴시간(idle time)을 이용할 수 있는 효율적인 프로그램을 개발 가능

* 대부분의 I/O장치는 CPU보다 느리기 때문에, 이들을 사용하는 프로그램은 많은 시간을 이들로부터

  정보를 주고 받는 과정에서 소비한다.

* 멀티 쓰레딩을 이용하면 이러한 유휴시킨에 다른 태스크를 수행할 수 있다.

* 멀티 쓰레딩이 지원되지 않던 시절에는 이터럽트 등의 편범을 이용해서 프로그래밍

* 자바에서는 언어 차원에서 스레드를 지원한다.

* 모든 프로세스는 적어도 하나의 실행되는 스레드를 갖고 있어야 하며, 프로그램이 시작 될 때 실행

   되므로 대개 주 쓰레드(MAIN THREAD)라고 한다.

* 주 스레드 로부터 다른 스레들이 생성된다.

* 데이터 공유가 가능(static, heap)