Jakartase_マルチスレッド---プロセスとマルチスレッドの概要(一)

1036 ワード

一、プロセスとスレッド
1.1、プロセスとは
  • 1.1.1 :プロセスは、プログラムの1回の実行プロセスであり、システム実行プログラム(cpuがリソースを割り当てる)の基本単位であるため、プロセスは動的である.
  • 1.1.2 :
  • 各プロセスは独立した
  • である.
  • プロセスは、複数の並列スレッドを有することができる.

  • 1.1.3プロセスとプログラムの違いは何ですか?
         (Program)        ,                  ,  :          ,           。       ,         ,       ,     “  ”。
    
    

  • 1.2、スレッドとは
  • 1.2.1 :は、プログラム内の単一の順序制御フロー(スレッドはスケジューリングおよび実行の単位)
  • であるプロセス内部の実行ユニットである.
  • 1.2.2 :
  • 各プロセスは独立した
  • である.
  • 複数のスレッドは、同じメモリユニット/メモリアドレス空間を共有し、同じ変数とオブジェクトにアクセスでき、同じスタックからオブジェクトを割り当てて通信、データ交換、同期操作を行う.
  • スレッドの起動、中断、消滅によって消費されるリソースは非常に少ない
  • .
  • スレッド間の通信は、同じアドレス空間上で行われ、追加の通信メカニズムを必要とせず、通信がより簡便になり、情報伝達の速度もより速くなる.


  • 1.3、プロセスとスレッドの違い
  • スペース:
  • 各プロセスには独立したコードとデータ空間
  • がある.
  • 同じプロセスのスレッドはコードとデータ空間を共有し、各スレッドには独立した実行スタックとプログラムカウンタ(PC)
  • がある.
  • 時間効率
  • プロセス間の切り替えには大きなオーバーヘッドがあります
  • スレッド切替のオーバーヘッドが小さい