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

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

高洛峰
高洛峰

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

全員に返信(1)
伊谢尔伦

ThreadExecutor は矛盾しています。Thread はプログラム内の実際のスレッドを表す Java に属する基本構造であり、その run メソッドはスレッドの実行プロセスです。 ExecutorThread 上にカプセル化されており、スレッド プールとスレッドの再利用の概念を導入して、操作効率を向上させ、リソースを節約します。 Executor はスレッドの継続実行を制御します。簡単に言うと、Threadrun メソッド内に無限ループ while(true) {} があるため、Executor が保持する Thread は実行され続け、停止しません。 shutdown メソッドを使用すると、Executor がその下位の Thread にループから抜け出してスレッドを停止するように指示できます。もちろん、Thread には shutdown のようなメソッドはありません。多くのプログラムでは実行を継続するためにスレッドが必要であり、この時点で Thread を継承してカプセル化する場合は、スレッド exit メソッドを自分で実装する必要があります。

Javamain を返す問題については、voidC は、当時はまだ比較的古いプログラムだと思います。ユーザーにプログラムが正常に実行されているかどうかを伝えるには戻り値に依存する必要があり、main にはサウンド例外メカニズムがあり、プログラムはコンソールを直接制御しないため、戻り値がある場合でも、 Java プログラムではなく、Java Runtime によって実行されます。 Java

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!