スレッドとスレッドプールの違いを教えてもらえますか?それは使用するのが最善です...?スレッドとスレッドプールの相違点
答えて
スレッドは1回しか実行できないため、タスクごとにスレッドを使用する必要があります。しかし、スレッドを作成して起動するのはいくらか高価であり、実行するスレッドが多すぎる(正確な名前を記憶していない)状況が発生し、パフォーマンスがさらに低下する可能性があります。
スレッドプールは、名前が示すように、常に実行されているワーカースレッドのプールです。これらのスレッドは、通常、タスクをリストから取り出して実行し、次のタスクを実行しようとします。タスクがない場合、スレッドは待機します。スレッドプールを使用して
はいくつかの利点があります。
- あなたが正常に(あまりにもJVMによって異なります)お使いのシステムのためのスレッドの最適な数を持っているタスク
- ごとにスレッドを作成する必要はありません
- あなたが書き込みタスクに集中し、インフラに
編集を管理するために、スレッドプールを使用することができます。ここでは、並行性に関するいくつかのかなり良い記事は、一般的には、次のとおりです。Sutter's Mill、下部にもっとリンクがあります。主にC/C++用に書かれていますが、一般的な概念は同じです。同時実行ソリューションとハードウェアの相互依存性も記述されているためです。同時実行パフォーマンスの問題を理解するための良い記事はthis article on drdobbs.comです。
ありがとうございました。ありがとうございました。簡単な例をあげてください。 –
「実行するスレッドが多すぎます(正確な名前は記憶されていません)」。あなたは "飢え"を探している用語ですか? – SteeveDroz
@Altatur 'starvation'は、スレッドが(CPU時間のような)リソースを必要としないという意味で、これの症状です。 「オーバーサブスクリプション」は、私が探している用語のようです。 – Thomas
スレッドプールは、統一されたタスクを実行するために割り当てられたスレッドの集合です。 スレッドプールパターンを使用する利点は、同時に実行できるスレッド数を定義できることです。これは、高いCPU負荷またはメモリ不足状態などによるサーバのクラッシュを回避するためです。サーバーのハードウェア容量は1秒あたり最大100要求をサポートできます。
データベースプーリングには、スレッドプールと同様の概念があります。
このパターンは、ほとんどのバックエンドサーバーのアプリケーションプロセスで広く使用されています。
スレッドはタスクを実行する単位ですが、
- 1. importとconstとの相違点とcommonjsでの相違点
- 2. =と:=の相違点
- 3. PHPUnitとPHPSpecの相違点と相違点
- 4. スレッド安全性に関して辞書とハッシュテーブルの相違点
- 5. MSBuildとTFSBuildの相違点
- 6. string.hとstrings.hの相違点
- 7. NSArrayとNSMutableArrayの相違点
- 8. System.Web.CacheとHTTPContext.Curent.Cacheの相違点
- 9. saveとsave_model()の相違点
- 10. ディスパッチキューとNSOperationQueueの相違点
- 11. HTML5とjQueryの相違点
- 12. QtGui.QApplicationとQtCore.QCoreApplicationの相違点
- 13. CDO.MessageとSystem.Net.Mailの相違点
- 14. TransactionとTransactionScopeの相違点
- 15. addonGlobalLayoutListenerとaddOnPreDrawListenerの相違点
- 16. getGenericParameterTypesとgetParameterTypesの相違点
- 17. vmlinuxとvmlinux.oの相違点
- 18. KeyEventArgs.systemKeyとKeyEventArgs.Keyの相違点
- 19. Thread.sleep()とTimeUnit.SECONDS.sleep()の相違点
- 20. レポートとサブレポートの相違点
- 21. MPI_ScatterとMPI_Bcastの相違点
- 22. V8とECMAScriptの相違点
- 23. カーネルモードとドライバの相違点
- 24. アルゴリズムとメソッドの相違点
- 25. mysql_num_rowsとmysql_affected_rowsの相違点
- 26. modelAttributeとcommandNameの相違点
- 27. システムとshell_execの相違点
- 28. 'コミット'と 'リビジョン'の相違点
- 29. 'コンポーネントアーキテクチャ'と 'モジュラアーキテクチャ'の相違点
- 30. scipy.spatial.KDTreeとscipy.spatial.cKDTreeの相違点
[こちら](http://download.oracle.com/javase/tutorial/essential/concurrency/index.html)を見ましたか? –