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

前記項目と同様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オブジェクトメッセージパッシングメモリオーバーヘッドメッセージパッシングアクターモデルプロセス

プログラミング

プログラミングプログラミングマルチスレッドコンピューティングメッセージパッシングリソースメモリFutureパターンサポート

[?]JavaC#メモリモデルモニタロックメッセージパッシングモデルメモリモデルメッセージパッシングモデルErlang使

プログラミングPictErlangLimboOccam 20使プログラミング:

  • Ada
  • Afnix データアクセスAlephAlef
  • Alef スレッドメッセージパッシングPlan 9システム使
  • Alice Standard ML Future サポート
  • CDL (Concurrent Description Language) machine translatableオブジェクトビジュアルプログラミング
  • ChucK プログラミング
  • Cilk C
  • Clojure LISPJVM
  • Concurrent C
  • Concurrent Clean Haskell
  • Concurrent Pascal by Per Brinch Hansen
  • Corn
  • Curry
  • C オメガC#
  • E Future使デッドロック
  • Eiffel プログラミングSCOOP
  • Erlang メッセージパッシング使
  • Janus askerteller
  • Join Java Javaプログラミング
  • Joule データフローメッセージパッシング
  • KL1 Guarded Horn ClausesコンピュータプロジェクトKLIC
  • Limbo AlefPlan 9Infernoシステム使
  • Oz マルチパラダイムメモリメッセージパッシングFuture
  • MultiLisp Scheme サポート
  • Occam Communicating Sequential Processes (CSP)
  • Pict ミルナーπ
  • SALSA インターネットコンピューティングメッセージパッシング
  • SR

ライブラリサポートリスト

  1. ^ Operating System Concepts 9th edition, Abraham Silberschatz. "Chapter 4: Threads"
  2. ^ Pike, Rob (2012-01-11). "Concurrency is not Parallelism". Waza conference, 11 January 2012. Retrieved from http://talks.golang.org/2012/waza.slide (slides) and http://vimeo.com/49718712 (video).
  3. ^ a b Patterson & Hennessy 2013, p. 503.
  4. ^ Parallelism vs. Concurrency. Haskell Wiki. 20201
  5. ^ Schneider, Fred B. (1997-05-06). On Concurrent Programming. Springer. ISBN 9780387949420 
  6. ^ Ben-Ari, Mordechai (2006). Principles of Concurrent and Distributed Programming (2nd ed.). Addison-Wesley. ISBN 978-0-321-31283-9 
  7. ^ Ben-Ari, Mordechai (2006). Principles of Concurrent and Distributed Programming (2nd ed.). Addison-Wesley. ISBN 978-0-321-31283-9 

リンク

「」から取得