スレッド監視の再起動の問題について読みました
http://www.cnblogs.com/ae6623...
この記事で紹介されているオブザーバー モードは、スレッドを再起動するためのキー コードだと思います。スレッド本体の catch ブロックにあります。キャッチされない例外の場合はどうすればよいですか? Exception クラスについてはよくわかりません。すべての例外をキャッチできますか? もしキャッチできる場合、スレッド終了の見逃した理由はありますか? ? 監視できません
漂亮男人2017-05-27 17:43:04
Exception
是所有异常类的父类, catch(Exception)
すべての例外をキャッチできます
通常、異常は次のように分類されますException
和RuntimeException
Exception
必须捕获, 发生异常时, 会执行catch
RuntimeException
, 发生异常时, 如果不捕获会中断当前线程, 如果捕获和Exception
同じ
スレッド終了(死亡)の一般条件
スレッド業務実行完了
捕捉されないスレッドが発生しましたRuntimeException
あなたが与えた記事のスレッドを再開する本質は、前のスレッドを放置することですA
已经结束了(break
), 调用Observable#notifyObservers()
重新启动了一个线程A1
,也就是说如果没有调用Observable#notifyObservers()
、スレッドは再開されません
そのため、Observable#notifyObservers()
を呼び出す前に Observable#notifyObservers()
之前发生了RuntimeException
が発生し、それが捕捉されなかった場合、スレッドは再起動されません
PHP中文网2017-05-27 17:43:04
一般に、観察されたスレッド例外が発生する場所は特定でき、特定された場所で例外がキャッチされ、スレッドが再起動されます。対象の接続方法は可能です。