2

ドキュメントによると、corePoolSize がゼロ未満の場合、コンストラクターは IllegalArgumentException をスローします。これは、0 が有効な値であることを示しています。これは、アイドル状態のスレッドをプールに保持しないことを意味します。これは実際に実際に機能しますか? この非 Android 固有の質問は、スレッドが作成されず、スケジュールされたタスクが実行されないことを示唆しています。

4

1 に答える 1

0

いいえ、これは実際には Android では機能しませんが、別の理由で機能します。AndroidでcorePoolSize に 0 を渡すと、プール内にスレッドを作成し、スケジュールされたタスクを実行できるようになりますが、ScheduledThreadPoolExecutorスピンし、常にスレッドの作成と破棄が行われ、パフォーマンスが低下し、パフォーマンスが低下するバグがあるようです。 Eclipse が応答しなくなる可能性さえあります。

于 2013-02-27T16:02:40.360 に答える