달력

2

« 2025/2 »

  • 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
2011. 9. 1. 15:14

스레드 중단 및 종료 JAVA이야기2011. 9. 1. 15:14

스레드 시작은 쉬움 Thread.Start() 하면 되니깐
하지만 종료는 어려움
작업이나 스레드를 안전하고 빠르고 안정적으로 멈추게 하는 것은 어려운 일이다.
자바에는 스레드가 작업을 실행하고 있을 때 강제로 멈추도록 하는방법이 없다.
대신 인터럽트를 사용할 수 있는데, 인터럽트는 특정 스레드에게 작업을 멈춰달라고 요청하는 형태이다.
"A가 B에게 멈춰줘요.(interrupt 예외 날림)"
"B는 sleep 상태라면, catch(InterruptException ie) 블록으로 빠지고, run상태라면 interrupted() 호출해서 처리"
"그 블록에 루프를 빠져나가는 로직을 작성"
"그럼 해당스레드는 멈출것임"
---- 내 생각-----

작업중단의 경우
- 사용자가 취소하기를 요청한 경우
- 시간이 제한된 작업 : 시간 안에 못찾은 스레드는 모두 종료하게 됨
- 애플리케이션 이벤트
- 오류
-종료
 

'JAVA이야기' 카테고리의 다른 글

인터럽트 정책  (0) 2011.09.01
스레드 작업중단2  (0) 2011.09.01
작업 실행 시간 제한  (0) 2011.08.29
Excutor 프레임웍  (0) 2011.08.28
작업별로 스레드를 만드는 것은 자원관리 측면에서 허점이 있다.  (0) 2011.08.28
:
Posted by НooпeУ


Code Start Code End