반응형
main쓰레드
: main메서드의 코드를 수행하는 쓰레드.
- 쓰레드에는 두가지 종류가 있다.
- 사용자 쓰레드
→ main쓰레드가 여기 속한다. - 데몬 쓰레드 (보조 쓰레드)
- 사용자 쓰레드
❗ 실행 중인 사용자 쓰레드가 하나도 없을 때 프로그램은 종료된다.
join()
: 쓰레드 작업이 끝날 때까지 기다려준다.
main쓰레드가 끝나도
실행중인 쓰레드가 끝나야 프로그램이 종료된다.
💡싱글 쓰레드와의 차이
💡Context Switching
멀티 쓰레드에서 작업을 번갈아가면서 진행할 때
A작업 → B작업, B작업 → A작업으로 오고갈 때를 말한다.
이 때문에 싱글 쓰레드보다 멀티 쓰레드는 작업에 시간이 조금 더 걸린다.
쓰레드의 I/O blocking
: 쓰레드 입출력시 작업중단.
- 싱글 쓰레드 중에는 I/O Blocking이 발생하면 작업이 중단될 수 있다.
- 하지만 멀티 쓰레드는 다른 프로세스의 작업중단과 관계없이 진행되므로 오히려 수행시간이 짧을 수 있다.
- 우리가 카톡을 하면서 사진과 메시지를 동시에 보낼 수 있는 것도 멀티 쓰레드 덕분이다.
반응형
'☕ JAVA > ☕ Class & Method' 카테고리의 다른 글
[JAVA][Thread]Daemon Thread 데몬 쓰레드 (0) | 2024.12.03 |
---|---|
[JAVA][Thread]우선순위 (0) | 2024.12.02 |
[JAVA][Thread]구현 (0) | 2024.12.02 |
[JAVA]java.util.function 패키지 (0) | 2024.12.01 |
[JAVA]@Annotation 만들기 (1) | 2024.11.29 |