java中,分别使用 Thread 与 Executor执行任务,为什么前者不需要显式的退出,而后者需要shutdown ?
高洛峰
高洛峰 2017-04-17 17:38:36
0
1
433
  1. 如果不适用shutdown ,使用 executor执行任务时,就不能退出,也就不能键入控制台命令?线程与控制台之间有什么关系?

  2. 另由 控制台 返回,想到 java 的main ( ) 函数由于void,不需要写return 语句, 而 C 语言 main ( ) 函数由于 为int ,需要使用return ()? java 为什么可以这样设置,是出于什么样的机制?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
伊谢尔伦

Thread dan Executor tidak boleh dibandingkan Thread ialah struktur asas kepunyaan Java, yang mewakili urutan sebenar dalam program, dan kaedah runnya 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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan