4. STMとは Software Transactional Memory ソフトウェアトランザクショナルメモリは、データベーストラン ザクションに似た並行性制御機構であり、並列計算を行う際の 共有メモリへのアクセス法である。 この機構はロックベースの同期を用いた並行性制御の代替手段と して機能し、ノンブロッキングな方法で実装される物もある。 Wikipediaより 楽観的: 他のスレッドを気にせずとりあえず実行してみる 変なことになったらリトライする 最近盛んに研究されている(らしい) 5. ロックの利点と欠点 利点 いつロックを取得し、解除するかを陽に制御できる 開発者にとって馴染みがある方法 多くのプログラミング言語でサポートされている 欠点 ロックのとる順序によってデッドロックが起こる 優先度逆転が起こる composableでない
![ClojureではじめるSTM入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/171878ef11f345dd862fe4f5346ed46adbaaee0d/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fintroductiontostmwithclojure-130323034038-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)