2011-01-26 4 views

答えて

3
一般に

(それは、オペレーティングシステムによって異なります):

  • スレッドは通常
  • プロセスは
  • スレッドが内簡単データ共有及び調整を提供する行為との間のより良好な分離を提供する方法よりも軽量でありますプロセス

通常、中点は私のキッカーです - 実際には2つのアクションがお互いに干渉しないようにしたい場合は、腹が立っているプロセスが他のアクションに影響を与えない範囲で、別々のプロセスを使用します。それ以外の場合は、私は個人的にスレッドのために行く。

(私は両方のモデルが利用可能であると仮定しています - 別の実行可能ファイルを実行したい場合は、少なくとも私が知っているほとんどの環境で、既存のスレッド内で行うのはかなり難しいでしょう)

1

スレッドはプロセスの小計です。これにより主な違いは、メモリ割り当ておよびCPUタイムスケジュールである:あなたが(プロセスごとに許可される範囲内)メモリを割り当てる

    • オペレーティング・システムは、プロセスのためのプロセスとスケジュール実行時間あたりのメモリを処理します(実行時間をスケジュールしますプロセスごとに与えられた実行時間枠内に)

    ハードウェア割り当て(スレッドはプロセスによってロックされたハードウェアを共有できます)、通信(プラットフォーム/言語/ランタイムによって異なります)スレッドは変数を共有でき、プロセスはパイプを使って情報を共有するなど)。スレッドを原子的実体として考えるならば、この区別にはるかに多くのことがありますが、その場合のプロセスはこれらのエンティティをグループ化する方法になります。

  • 関連する問題