1.並列並行
同時実行:それが参照する期間 CPU上で動作する複数のプログラム内ではなく、いつでも CPU上で実行されている1つのプログラムだけ。
プログラム間の切り替えを完了するための時間は、それが1秒以内に、例えば、プログラム100が実行され、
パラレル:それが指す時間内の任意の点 CPU上で実行されている複数のプログラムに関する。
例えば、我々は、CPUコア4、4の時点でプログラムの最大収容力を有します
だから我々は通常、高い同時実行が、しかし、いくつかはからこそ、当社のコアCPUの限られた数の、高すぎる平行に聞いたことがあると言う、両者の違いを説明するために例を挙げて、次の状況が水ではない、やかんを洗浄する、ティーポットカップは、洗浄するため、火がお茶も、どのように行うためになっていましたか?
同時バージョン:冷水および沸騰で満たされた洗浄瓶、その後、ティーポットが完了し洗浄するために水を沸騰させる時間を使用し、カップを洗って、お茶を入れるなど、そして最後に飲むお茶。
並列バージョン:洗浄ボトル、冷たい水で満たされ、そして沸騰水; B洗浄ティーポット; C洗浄カップ、お茶を入れて、(A、B、C、 Dは、 人物を表します)
2.同期および非同期
同期:コードを参照するときIO操作を呼び出す必要になるまで待つIO操作が完了しただけで復帰した後、実行モード。
非同期:IO動作時間は、呼び出すコードを参照する必要のないまで待つことIO操作のみ復帰完了後の動作モード
3.ブロッキングとノンブロッキング
妨害:ときには、呼び出し元の関数を指し、現在のスレッドがされて中断します。
ノンブロッキング:それは、呼び出し元の関数を指し、現在のスレッドが中断されていないが、すぐに戻りました。