この記事は、ウィキペディアの項目「並行計算」を素材として二次利用しています。

前記項目と同様CC-BY-SA 3.0のもとで公表されます。

文章の各部をクリックすることで対応部が着色するように改変されています。

操作方法は関数型玩具製作所

並行計算 - Wikipedia

コンピュータプログラムタスク

: Concurrent computingアルゴリズム調コンカレントメッセージパッシングシーケンシャルコンピューティングプログラミングConcurrent programming

コンピュータプログラムコンピュータネットワークプロセススレッド[1]スレッドスレッドスレッドエドガーダイクストラアントニーホーアパイオニア

イントロダクション

parallel computingマルチプロセッサプロセッサシングルプロセッサ[2]システムコンピュータスループットパフォーマンスマルチプロセッサシリアルserial computing[3]プロセッサ

プロセッサタスクタスク[4]タイムシェアリング使マルチプロセッサタスクプロセッサ[5]タスク調タスクプロセッサプロセッサ[6]マルチタスクOSカーネルアプリケーションプログラムプロセススレッドタスクレイテンシパフォーマンスシーケンシャルsequential computing[3]タスク

シリアルシーケンシャル

  • スレッドAスレッドBシリアルシーケンシャル
  • スレッドAスレッドBシリアル
  • スレッドAスレッドB

システムタスクタスクリソースアクセススレッドプロセスプロトコル

リソースアクセス調

プロセス/スレッドリソースアクセス調[7]デッドロックリソースリソースコード

boolean withdraw(int withdrawal) {
    if (balance > withdrawal) {
        balance = balance - withdrawal;
        return true;
    } 
    return false;
}

balance=500プロセスAプロセスBAwithdraw(300)Bwithdraw(350)コールA2true3B2balance > withdrawaltrueABbalance=-150リソースクリティカルセクションロックセマフォミューテックスモニタ使

システムリソースリソースアクセス調調ゼロリソースリソースデッドロックブロックアルゴリズム

モデル

モデル

モデル

モデルconsistency modelsメモリモデルプロセス/スレッドデータ/シーケンシャルモデルモデルメモリクリティカルセクションロック使

プログラムオペレーティングシステムプロセススレッドプロセススレッドマルチタスク

コンポーネント

ケース

プログラムソフトウェアトランザクショナルメモリクリティカルセクションモデル
メモリ
コンポーネントメモリJavaC#クリティカルセクションロックオブジェクトロックセマフォミューテックスモニタバリアロックスレッドセーフ


ケースプログラマ

コード/データ/プロセスFutureパターンモデル
メッセージパッシング
コンポーネントメッセージErlangGoScalaOpenMPIOccamメッセージチャネルメッセージ
メッセージメッセージsend and prayメッセージfuturepromiseオブジェクトメッセージパッシングメモリオーバーヘッドメッセージパッシングアクターモデルプロセス

プログラミング

プログラミングプログラミング