コンカレントとパラレル、プロセス、スレッド、およびコヒーレントの間の異同セクション

1201 ワード

パラレル:ハードウェアに依存して同じ時刻に完了し、複数のプログラムを同時に実行します.本当のマルチタスク.同時:CPU高速演算の特性に依存して、同時に複数のプログラムを実行するような現象が現れて、偽のマルチタスク、本質は同じ時間に1つのタスクしか実行できなくて、しかし極めて短い時間の内に順番に複数を実行します.
===============================================================================システムリソースを占有する(主にメモリを占有する)プログラムを実行するには、すべてのシステムがそうである「アドレス空間」(仮想アドレス空間)が必要です.対応関係:1対1対Nいずれもプロセス同時:単位時間内にcpuを得る確率を高める.プロセスのステータス:初期状態、準備状態、実行状態、保留状態、終了状態===========================================================================================
スレッド:プロセス:最小リソース割当単位(仮想アドレス空間)スレッド:最小実行単位(cpuタイムスライスはスレッド別)スレッド同期:複数のスレッドが同じ共有リソースに同時にアクセスし、そのリソースに変更をもたらす可能性がある場合に採用される協調保護メカニズム.共有リソースへのアクセスの優先順位を指定します.--データの混乱を避ける.協程:協程の利点:1.スタックフレームを指定する必要はありません.呼び出したり解放したりしていません.--マイクロスレッド2とも呼ばれる.新しいメモリリソースを提供する必要はありません.欠点:依存スレッド、プロセス.スレッド————独立した制御フロースレッド同時————複数の独立した制御フローがcpu協程にアクセスし、スレッド、プロセス待ち時間を十分に利用し、他の操作を完了する.CPU使用率を最大化まとめ:プロセス、スレッド、コラボレーション:同時実行が可能です.プロセス消費リソースが最大で、スレッドに次いで、コヒーレンスが最小です.プロセス:最も安定性が高い.スレッド:オーバーヘッドが小さく、切り替えが便利です.協程:スレッド、協程待ち時間を十分に利用します.プログラムにはより多くのIO操作があります.
最後にもう一つのイメージの例を見て理解を深める
     : 
                。—— 。
                。    —— 。
                。    —— 、 。
                、500 。—— 、 
                , 。 。—— 。