cari

Rumah  >  Soal Jawab  >  teks badan

Pemantauan benang Java, mulakan semula benang, isu mod pemerhati

Saya membaca tentang isu pemantauan semula benang
http://www.cnblogs.com/ae6623...
Mod pemerhati yang diperkenalkan dalam artikel ini, saya rasa ia meletakkan kod utama untuk memulakan semula benang ke dalam badan benang Apa patutkah saya lakukan jika terdapat pengecualian yang tidak ditangkap dalam blok tangkapan? Saya tidak tahu banyak tentang kelas Pengecualian Bolehkah semua pengecualian ditangkap?

天蓬老师天蓬老师2733 hari yang lalu765

membalas semua(2)saya akan balas

  • 漂亮男人

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

    Exception ialah kelas induk bagi semua kelas pengecualian, catch(Exception) boleh menangkap semua pengecualianException是所有异常类的父类, catch(Exception)能捕获到所有的异常

    通常异常又分为ExceptionRuntimeException

    • Exception必须捕获, 发生异常时, 会执行catch中的业务

    • RuntimeException, 发生异常时, 如果不捕获会中断当前线程, 如果捕获和Exception一样

    通常线程退出(死亡)的条件

    • 线程业务执行完毕

    • 线程发生未捕获的RuntimeException

    你给的文章中重启线程的本质是让上一个线程A已经结束了(break), 调用Observable#notifyObservers()重新启动了一个线程A1,也就是说如果没有调用Observable#notifyObservers()的话, 是不会重启线程的.

    所以, 如果在调用Observable#notifyObservers()之前发生了RuntimeException

    Biasanya pengecualian dibahagikan kepada Exception dan RuntimeException#🎜🎜#
    • #🎜🎜#Exception mesti ditangkap Apabila pengecualian berlaku, perniagaan dalam catch akan dilaksanakan #🎜🎜#
    • .
    • #🎜🎜#RuntimeException, apabila pengecualian berlaku, jika ia tidak ditangkap, urutan semasa akan terganggu Jika ditangkap, ia adalah sama dengan Exception #🎜🎜#
    #🎜🎜#Syarat am untuk keluar benang (kematian)#🎜🎜#
    • #🎜🎜#Pelaksanaan perniagaan benang selesai#🎜🎜#
    • #🎜🎜#Uncaught RuntimeException#🎜🎜#
    • berlaku dalam urutan
    #🎜🎜#Intipati memulakan semula utas dalam artikel yang anda berikan adalah untuk membiarkan utas sebelumnya A telah tamat (break) dan memanggil Observable#notifyObservers( )< /code>Memulakan semula urutan A1, yang bermaksud bahawa jika Observable#notifyObservers() tidak dipanggil, thread tidak akan dimulakan semula #🎜🎜#. #🎜🎜#Jadi, jika RuntimeException berlaku sebelum memanggil Observable#notifyObservers() dan ia tidak ditangkap, urutan tidak akan dimulakan semula.#🎜🎜#

    balas
    0
  • PHP中文网

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

    Secara amnya, lokasi di mana pengecualian benang yang diperhatikan berlaku boleh ditentukan, pengecualian ditangkap di lokasi yang ditentukan dan benang dimulakan semula. Kaedah pemprosesan sambungan subjek boleh dilaksanakan.

    balas
    0
  • Batalbalas