>  Q&A  >  본문

java的中断线程interrupt()方法,为什么还要把run()方法走完呢?那中断线程不就没有意义了吗?

当线程调用interrupt方法后,为什么还要运行完run方法呢?那中断线程还有什么意义?

高洛峰高洛峰2729일 전732

모든 응답(2)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 09:35:34

    Java 인터럽트 메커니즘은 협력 메커니즘입니다. 즉, 다른 스레드가 인터럽트를 통해 직접 종료될 수 없으며, 인터럽트된 스레드가 스스로 인터럽트를 처리해야 함을 의미합니다. 이는 마치 집에서 부모가 자녀에게 건강을 챙기라고 말하지만 자녀가 건강을 관리할지 여부와 방법은 전적으로 부모에게 달려 있는 것과 같습니다.

    Java 인터럽트 메커니즘의 상세 분석

    회신하다
    0
  • 黄舟

    黄舟2017-04-18 09:35:34

    Java 스레드에도 run 메소드가 완료되는 것을 방지하는 방법이 있는데, 이것이 바로 stop 메소드입니다. 그런데 이 메소드가 jdk에 의해 폐기되었습니다. 스레드가 데이터베이스이든 파일 작성이든 어딘가에서 데이터를 수정하고 있고 stop 메소드가 설명 없이 스레드를 종료하는 경우 데이터가 혼란스럽거나 일관성이 없습니까? 따라서 Java 스레드는 인터럽트 메커니즘을 사용하며 이 인터럽트를 캡처하고 인터럽트 이후에 필요한 작업을 수행할 수 있습니다.

    회신하다
    0
  • 취소회신하다