Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

스파르타 부트캠프 자바 5강 쓰레드 상태와 제어 본문

Java

스파르타 부트캠프 자바 5강 쓰레드 상태와 제어

H.S-Backend 2024. 5. 12. 21:34

 

음악을 듣다 일시정지를 하는 것과 마찬가지로 쓰레드도 일시정지 시킬 수 있다.

 

sleep() 재우다

interrupt()

일시정지시키다.

join(초 miils)

input 안에 정해진 시간동안 쓰레드가 작업하는것.(시간이 없으면 끝날때 까지 기다린다) 

yield()

남은시간은 다음 쓰레드에게 양보, 자신은 실행대기상태가 된다.

synchronized(쓰레드 동기화)

임계영역을 설정하여 그 영역에 쓰레드가 진행 중 이라면 다른쓰레드가 영역을 침범하지 못핟록하는것

wait()

synchronized안에 수행하는 쓰레드를 기다리게한다.

notify()

wait상태인 임계영역안의 쓰레드를 다시 실행시킨다.


Lock

해당 영역 내 쓰레드의 진행 및 일시정지 등 
이런 제약을 Lock 클래스를 이용하여 해결한다.

ReentrantLock = 재진입 가능한 Lock

ReentrantReadWriteLock = 읽기, 쓰기 Lock

StampedLock  = 낙관적인 Lock, 데이터 변경 전 락을 걸지않는것.


Condition

영역 내에 특정 쓰레드만 지칭하고 실행, 일시정지가 어려워

대기중인 쓰레드를 분리하여

특정조건이 일치할 시

해당 쓰레드만 실행 시킬 수 있다.

 

ReentrantLock클래스와 함께 사용된다.

await(), signal()을 사용한다.

 

https://hs-backend.tistory.com/60

 

스파르타 코딩클럽 부트캠프 (Java 문법 5장)

프로세스란운영체제로부터 자원을 할당받는 작업의 단위 프로세스는실행 중인 프로그램을 의미한다프로세스 구조운영체제가 프로그램 실행을 위한 프로세스를 할당할 때프로세스안의 Code, Da

hs-backend.tistory.com

 

반응형