Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

thread 쓰레드 본문

Java/JAVA3

thread 쓰레드

빌드이너프 2023. 8. 2. 09:06

프로세스와 쓰레드(process & thread)

프로세스: 실행 중인 프로그램, 자원(resources)과 쓰레드로 구성

쓰레드: 프로세스 내에서 실제 작업 수행, 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다

 

싱글 쓰레드 프로세스 = 자원 + 쓰레드

멀티 쓰레스 프로세스 = 자원 + 쓰레드 + 쓰레드 + ...

 

하나의 새로운 프로세스를 생성하는 것보다, 하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다

프로세스(2) 쓰레드(1) => 쓰레드 2개 vs 프로세스(1) 쓰레드(2) => 쓰레드 2개

같은 쓰레드 개수라면 멀티쓰레드를 사용하는 것이 효율적이다


멀티쓰레드의 장단점

대부분의 프로그램이 멀티쓰레드로 작성되어 있지만 멀티쓰레드 프로그래밍이 장점만 있는 것은 아니다

장점 단점
시스템 자원을 보다 효율적으로 사용할 수 있다
사용자에 대한 응답성(reponseness)이 향상된다
작업이 분리되어 코드가 간결해진다
동기화(synchronization)에 주의해야한다
교착상태(dead-lock)가 발생하지 않도록 주의해야 한다
각 쓰레드가 효율적으로 고르게 실행될 수 있게 해야한다

 

'Java > JAVA3' 카테고리의 다른 글

main 쓰레드  (0) 2023.08.03
쓰레드의 구현과 실행  (0) 2023.08.02
애너테이션 타입 정의하기, 애너테이션의 요소  (0) 2023.08.01
메타 애너테이션  (0) 2023.08.01
Annotation(애너테이션) @  (0) 2023.07.31