マルチプロセッサアーキテクチャをサポートするために最適化されています。対称型マルチプロセッサシステム向けのコードを書く際に起き得る問題を紹介しています。アプリ開発者のための入門書としての役割を意図しています。アーキテクチャに焦点を当てています。行っても構いませんが、推奨されません。コアがメインメモリへのアクセスを共有しているような設計を指します。管理するために使われています。動作しているプログラムは、お互い、メインメモリを使って通信することができません。設計で作られています。これはソフトウェア開発者にとって、少々厄介です。おいては、さらに悪化します。以上のスレッドを使うと、それらが異なるコアで同時に実行されるのです。比べて、難易度が上です。上では動作しない可能性があるのです。コードが正常に動作することを保証するために、何をする必要があるのかについて述べます。理論これは、複雑な問題を、駆け足でもっともらしく要約したものです。いくつか不完全な部分もありますが、誤解や間違いは無いはずです。して載せていますので、参照してください。ハードウェアアーキテクチャがメモリアクセスに関して保証する内容を述べたものです。コアからその書き込みがその順序通りに見える、とかいったようなことです。ほとんどのプログラマに馴染みのあるモデルです。これは以下のようなものです。Gharachorloo)すべてのメモリ操作は、一度にひとつずつ実行されるように見える。あるひとつのプロセッサ上で行われたすべての操作は、そのプロセッサのプログラムに記述された順序で実行されるように見える。それらの読み書きは期待通りの順序で行われるでしょう。順序通りに命令を実行する以外のことをしているなどと知る方法はありません。)このことを示すために、小さなコード片を考えるのがいいでしょう。実行されると仮定します。実行する順序だということです。コンパイラが行う命令の並べ替えはまだ考慮しません。簡単な例を示しましょう。つのスレッドでコードが実行されます。