java - ThreadPoolExecutor.execute()方法疑惑
ringa_lee
ringa_lee 2017-04-18 09:35:56
0
2
782

根据类的继承机构,我们知道ThreadPoolExecutorService 继承了AbstractExecutorService类继承了ExecutorService接口继承了Executor接口中的execute()方法,这个方法是被用来专门执行异步任务的,通过传入参数Runnable来执行的。但是我看到ThreadPoolExecutorService.execute(Runnable command)方法中的源码表示不理解,求大牛帮忙看看这个源码,究竟都做了一些什么?

ringa_lee
ringa_lee

ringa_lee

全員に返信(2)
阿神
  1. 現在実行中の corePoolSize (コア スレッド) より小さいスレッドがある場合は、最初に現在のタスクが送信され、

  2. がいくつかのチェックを行います。
  3. 新しいタスクがキューに入れられると、(ステータスが変化するかスレッド プールが閉じられるため) 再度チェックされ、ロールバックする必要があるか、新しいスレッド オブジェクトをロールバックする必要があるかが判断されます。

  4. タスクをキューに入れることができない場合は、新しい Thread オブジェクトを追加しようとします。そうでない場合、タスクは拒否されます

追記: このメソッドとスレッド プールの知識全体を詳細に分析した非常に優れた記事を読んだことを覚えています。それを見つけるお手伝いをします...

更新: Java スレッド プールについての深い理解

いいねを押す +0
左手右手慢动作

さあ

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート