Rumah > Soal Jawab > teks badan
如果不适用shutdown ,使用 executor执行任务时,就不能退出,也就不能键入控制台命令?线程与控制台之间有什么关系?
另由 控制台 返回,想到 java 的main ( ) 函数由于void,不需要写return 语句, 而 C 语言 main ( ) 函数由于 为int ,需要使用return ()? java 为什么可以这样设置,是出于什么样的机制?
伊谢尔伦2017-04-17 17:40:36
Thread
dan Executor
tidak boleh dibandingkan Thread
ialah struktur asas kepunyaan Java
, yang mewakili urutan sebenar dalam program, dan kaedah run
nya ialah proses pelaksanaan utas. Executor
dikapsulkan pada Thread
dan memperkenalkan konsep kumpulan benang dan penggunaan semula benang untuk meningkatkan kecekapan operasi dan menjimatkan sumber. Executor
mengawal larian berterusan benang Secara ringkasnya, terdapat gelung tak terhingga Thread
dalam kaedah run
while(true) {}
, jadi Executor
yang dipegang oleh Thread
akan terus berjalan dan tidak akan berhenti. . Anda perlu menggunakan Kaedah shutdown
membolehkan Executor
memberitahu bawahannya Thread
untuk keluar dari gelung dan menghentikan benang. Sudah tentu, Thread
tidak mempunyai kaedah yang serupa dengan shutdown
Banyak program memerlukan urutan untuk terus berjalan dan akan mempunyai gelung Pada masa ini, apabila mewarisi dan merangkum Thread
, anda perlu melaksanakan kaedah keluar benang sendiri.
Mengenai masalah Java
mengembalikan main
dalam void
, saya rasa tidak ada apa-apa yang mudah untuk dijelaskan C
dalam main
pada masa itu, program masih lama diperlukan untuk bergantung pada nilai pulangan untuk memberitahu pengguna Ia bergantung pada sama ada program berjalan seperti biasa, dan Java
mempunyai mekanisme pengecualian bunyi, dan program tidak mengawal konsol secara langsung, jadi walaupun terdapat nilai pulangan, ia harus dilakukan oleh Java Runtime
, bukan program Java
.