찾다

 >  Q&A  >  본문

Java 스레드 모니터링, 스레드 재시작, 관찰자 ​​모드 문제

스레드 모니터링 재시작 문제에 대해 읽었습니다
http://www.cnblogs.com/ae6623...
이 글에서 소개한 옵저버 모드는 스레드를 재시작하기 위한 키 코드를 스레드 바디에 넣는 것 같아요 뭐 catch 블록에 catch되지 않은 예외가 있으면 어떻게 해야 하나요? Exception 클래스에 대해 잘 모릅니다. 그렇다면 모든 예외를 catch할 수 있나요? 그렇다면 모니터링할 수 없는 누락된 스레드 종료 이유가 있나요?

天蓬老师天蓬老师2733일 전761

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

  • 漂亮男人

    漂亮男人2017-05-27 17:43:04

    Exception是所有异常类的父类, catch(Exception)모든 예외를 포착할 수 있음

    보통 이상현상은 ExceptionRuntimeException

    으로 나누어집니다.
    • Exception必须捕获, 发生异常时, 会执行catch

    • 의 비즈니스
    • RuntimeException, 发生异常时, 如果不捕获会中断当前线程, 如果捕获和Exception 똑같아

    스레드 종료(죽음)에 대한 일반 조건

    • 스레드 사업 수행 완료

    • 잡지 못한 스레드가 발생했습니다RuntimeException

    주신 글에 쓰레드 재시작의 핵심은 이전 쓰레드A已经结束了(break), 调用Observable#notifyObservers()重新启动了一个线程A1,也就是说如果没有调用Observable#notifyObservers()를 사용하면 쓰레드가 재시작되지 않는다는 것입니다.

    따라서 Observable#notifyObservers()를 호출하기 전에 Observable#notifyObservers()之前发生了RuntimeException가 발생하고 이를 포착하지 못하면 스레드가 다시 시작되지 않습니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-27 17:43:04

    일반적으로 관찰된 스레드 예외가 발생한 위치를 결정할 수 있으며, 결정된 위치에서 예외를 포착하고 스레드를 다시 시작합니다. 주체 연결을 처리하는 방법이 가능합니다.

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