관리 메뉴

공부한것들을 정리하는 블로그 입니다.

InterruptedException에 대해 짧게 정리(JVM, 쓰레드, sleep, wait) 본문

경력 실무경험/생각해볼만한 주제

InterruptedException에 대해 짧게 정리(JVM, 쓰레드, sleep, wait)

호 두 2022. 6. 16. 16:00
반응형

* 해당 글은 계속 수정 예정입니다.
최초 작성일 2023.06.16
마지막 수정일 2023.04




1. InterruptedException은 JVM이 발생시킨다.

쓰레드가 데드락(DeadLock)에 빠졌을 때, (waiting, sleeping, interrupted 된 상태)

JVM은 InterruptedException을 발생시킨다.



2. InterruptedException은 JVM의 쓰레드 관리에 관한 내용이다. (강제중단 방법)

WAIT : 동시성으로 인한 멀티쓰레드의 실행에서. 실행중인 하나의 쓰레드가 동작하고 있을때,

나머지 쓰레드는 waiting 상태에서 대기하는데.

이때 JVM은 sleep(), wait() 메서드를 이용해 쓰레드의 상태를 제어 가능하다.



3. InterruptedException은 BLOCK 된 쓰레드에 대한 JVM의 제어.

만약 쓰레드가 sleep, wait 상태에서 BLOCK이 된다면.

BLOCK된 쓰레드는 애플리케이션 코드를 순차적으로 읽는 역할을 멈춘채, runnable 상태가 되기를(WAIT이 끝나기를) 기다린다.

이때 JVM은 영원히 기다리지 않고, BLOCK 된 스레드를 interrupt 후 InterruptedException을 발생시킨다.

 

 

 

4. Interrupt (일시정지)를 강제로 호출하는 상황?

 

테트리스, 타자게임 진행 중 레벨업을 할 경우 초기화가 진행되고 다음 스테이지로 넘어간다.

 

이때 레벨업 이벤트가 실행되면 내부에서 Interrupt 의 호출을 고려해볼 수 있다.

 

https://drsggg.tistory.com/66

 

타자 게임(스레드&이벤트핸들러)

타자 게임(스레드&이벤트핸들러) Frame, AWT, 멤버변수 선언 등 import java.util.*; import java.awt.*; import java.awt.event.*; /* *해석 : hodu */ class 타자게임2 extends Frame { // final을 사용한 것은, // 팔드에 저장된

drsggg.tistory.com

 

 

 

 

반응형
Comments