私はスレッドとプロセスの理論的な違いを知っています。しかし、実際にはスレッドとプロセスを使用するときはどちらも同じ作業をするためです。プロセスv/sスレッドをいつ使用するのですか?
0
A
答えて
3
一般に
(それは、オペレーティングシステムによって異なります):
- スレッドは通常
- プロセスは
- スレッドが内簡単データ共有及び調整を提供する行為との間のより良好な分離を提供する方法よりも軽量でありますプロセス
通常、中点は私のキッカーです - 実際には2つのアクションがお互いに干渉しないようにしたい場合は、腹が立っているプロセスが他のアクションに影響を与えない範囲で、別々のプロセスを使用します。それ以外の場合は、私は個人的にスレッドのために行く。
(私は両方のモデルが利用可能であると仮定しています - 別の実行可能ファイルを実行したい場合は、少なくとも私が知っているほとんどの環境で、既存のスレッド内で行うのはかなり難しいでしょう)
1
スレッドはプロセスの小計です。これにより主な違いは、メモリ割り当ておよびCPUタイムスケジュールである:あなたが(プロセスごとに許可される範囲内)メモリを割り当てる
- オペレーティング・システムは、プロセスのためのプロセスとスケジュール実行時間あたりのメモリを処理します(実行時間をスケジュールしますプロセスごとに与えられた実行時間枠内に)
ハードウェア割り当て(スレッドはプロセスによってロックされたハードウェアを共有できます)、通信(プラットフォーム/言語/ランタイムによって異なります)スレッドは変数を共有でき、プロセスはパイプを使って情報を共有するなど)。スレッドを原子的実体として考えるならば、この区別にはるかに多くのことがありますが、その場合のプロセスはこれらのエンティティをグループ化する方法になります。
関連する問題
- 1. プロセスを終了する1つのスレッド
- 2. なぜ2つのスレッドを持つ8つのプロセスが、16のスレッドを持つ1つのプロセスより多くの負荷を生成するのですか?
- 3. プロセスは別のスレッドを使用し始めますか?
- 4. 作成されるプロセスとスレッドの数はいくつですか?
- 5. プロセスIDが与えられたプロセスのすべてのスレッドを見つける
- 6. curl_multi_execはいくつのスレッドを使用しますか?
- 7. プロセスのスレッドとスレッドの違い。
- 8. AWS DynamoDB VS Couchdb、いつ使うのがいいですか?
- 9. いつあなたは=== vs ==、!== vs!=などを使うべきですか?javascriptで?
- 10. Params vs. List <T>、いつparamsキーワードを使用してリストを使用するのですか<t>
- 11. プロセスはスレッドより遅いです
- 12. VHDLの1つのプロセスで2つのwait文を使用できますか?
- 13. 異なるスレッドで1つのクラスのインスタンスを使用する
- 14. アンドロイドの2つの異なるスレッドでカメラを使用する
- 15. プロセス内で1つのスレッドがクラッシュするとどうなりますか?
- 16. CFTRACE vs CFLOGはいつ使用しますか?
- 17. Javaでのスレッドまたはプロセスのメモリ使用
- 18. android - スレッドを使用するタイミングとサービスをいつ利用するのか混乱していますか?
- 19. Androidのプロセスのスレッドによるリソース(CPUとメモリ)の使用
- 20. スレッド固有のデータ - スレッドIDを持つ静的マップを使用できないのはなぜですか?
- 21. なぜPLINQは2つのスレッドしか使用しないのですか?
- 22. VirtualAlloc Vsをいつ使うべきですか?
- 23. プライベート継承VSコンポジション:いつ使うのですか?
- 24. https vs ssl-何を使用するか
- 25. 良い例はどこですか?GAsyncQueueはプロセスとスレッドの間で使用されます
- 26. プロセス内の単一スレッドのCPU使用率を確認する方法
- 27. 2つの異なるスレッドのリストを使用していますか?
- 28. カーネル:プロセスのtask_structからすべてのスレッドを見つける方法?
- 29. 2つの並列プロセス用Windows用Kinectを1つ使用する
- 30. VS 2008を使用したSerializationException Addin:見つからないassemby