먼저 쓰레드를 이해하기 위해 응용프로그램>프로그램 vs 프로세스> 쓰레드 순서로 이해해보자.
-> 응용프로그램
- 워드, 엑셀 등 우리가 현재 사용하는 프로그램을 의미한다.
- 이 응용프로그램도 여러 개의 프로그램으로 구성되어 있다.
-> 여기서 프로그램이란
- 아직 실행되지 않은 상태를 의미한다. 즉, 운영체제에 의해 메모리 공간을 할당되지 않았다는 뜻
- 반대로, 할당되어야 프로그램이 실행된다.
이 때, 실행된 상태(메모리 공간을 할당받은 상태)의 프로그램을 -> 프로세스 라고 한다.
실행x - 프로그램
실행o - 프로세스
->그럼 이제 쓰레드란?
-프로세스 내에서 실행되는 여러 흐름의 단위
-응용 프로그램에는 여러 프로세스로 구성되어 있듯이 프로세스에는 여러 쓰레드(최소 1개)로 구성되어 있다.
-이것도 결국 하나의 기능을 가진 코드 단위
->멀티쓰레드?
여러 쓰레드들을 순차적으로 이어간다면 좋지만, 시간이 소요될 것이다.
그래서 한 번에 여러가지 작업을 할 수 있게 만든걸 멀티쓰레드라고 한다.
'IT > JAVA' 카테고리의 다른 글
[객체 관련 용어 정리] 객체(Object) 인스턴스(instance) 클래스(Class)를 관계를 통해 알아보자 (0) | 2021.02.10 |
---|---|
[JAVA] 자바 - 2차원 배열 길이 length (1) | 2021.02.09 |
[JAVA] 자바 - 가변배열 - 2차원 배열 (0) | 2021.02.09 |
[JAVA] 자바 - Math.random() 으로 로또 만들기 (0) | 2021.02.08 |
[JAVA] 자바 - 자바의 특징을 이해하자 (0) | 2021.02.06 |