2

Clojure での同時実行プログラミングを調べています。 http://clojure.org/concurrent_programming

プログラムの状態を維持するためにatomref、およびagentフォームが使用されることを知りました。

調整された更新にはrefのみが使用されるため、変更を実行するときにdosyncマクロが使用されます。

したがって、この時点で STM エンジンが関与していることは明らかです。

私が持っている次の疑いについて明確にしたかったのですが、

Clojure STM は、atom フォームやエージェント フォームとも関係がありますか? それとも、単に java.util.concurrent.atomic 機能を利用しているだけですか?

4

1 に答える 1

5

STM は、その中のエージェントに関連してsendおりsend-off、ブロックsend-via内で呼び出されたdosync場合、トランザクションが正常にコミットされた場合にのみ有効になります。

STM と Atoms の間には何の関係もありません。

于 2013-09-24T08:29:35.543 に答える