멀티 스레드(다중 스레드)
CODEDRAGON ㆍDevelopment/Java
반응형
멀티 스레드(다중 스레드; Multi-thread)
- 스레드란 프로세스 내에서 실행되는 세부 작업 단위입니다.
- 멀티 스레드란 하나의 프로세스에서 여러 개의 스레드가 병행적으로 처리되는 것을 말합니다.
- 즉, 하나의 프로세스 내에서 여러 개의 작업을 동시에 실행하는 것을 의미합니다.
프로세스와 스레드의 관계 도식도
- 프로세스는 반드시 하나 이상의 스레드(Thread)로 구성됩니다.
- 스레드는 운영체제가 CPU 시간을 할당하는 기본 단위입니다.
- 도식도를 통해 단일 스레드와 멀티 스레드의 구조를 확인해 볼 수 있습니다.
싱클 스레드(Single Thread) vs 멀티 스레드(Multi Thread)
· 메인스레드는 필요에 따라 작업 스레드를 만들어 병렬로 코드를 실행하여 다중 작업을 할 수 있습니다.
· 싱클스레드에서는 메인 스레드가 종료하면 프로세스도 종료됩니다. 하지만 멀티스레드에서는 실행중인 스레드가 하나라도 남아있으면 프로세스는 종료되지 않습니다. 메인 스레드가 작업 스레드보다 먼저 종료되더라도 작업 스레드가 계속 실행 중이라면 프로세스는 종료되지 않습니다.
|
Single Thread |
Multi Thread |
|
|
|
'Development > Java' 카테고리의 다른 글
| static - static 변수(class 변수), static 변수의 초기화 시점, static 변수의 접근방법 (0) | 2017.01.26 |
|---|---|
| WARNING-The assignment to variable money has no effect (0) | 2017.01.24 |
| Warning-GenericsEx is a raw type. References to generic type GenericsEx<T> should be parameterized (0) | 2016.12.20 |
| Class Relationship(클래스들의 관계), 클래스의 관계 종류, has a 관계, has a 종류, is a 관계 (0) | 2016.12.12 |
| 상속도식도 (0) | 2016.12.12 |