私は、大学のコースで 1 つまたは 2 つのガイド付き実験室を通じて、ソフトウェア トランザクショナル メモリの使用法を教える可能性について考えています。私は Haskell の STM についてしか知りませんが、コースの学生はおそらくそれについて一言も聞いたことがありません。
そのようなライブラリのリストをオンラインまたは他の質問ですでにいくつか見つけました (例: http://en.wikipedia.org/wiki/Software_transactional_memory#C.2FC.2B.2B )。あなたがこれを読んでいるときに私はそれらをチェックしていますが、それらの多くはあまり良いドキュメントを持っていないようです (ほとんどは論文で漠然と説明されているだけの研究プロトタイプであり、より使用され、よく文書化されているものについて教えたいと思います)。さらに、ウィキペディアが提供するリンクの多くがぶら下がっています。
要約すると、産業プロジェクト (または少なくともおもちゃ以外のプロジェクトを対象として、一定レベルの品質を確保するため) を目的とした STM 実装があり、十分に文書化されています (学生に良い指針を与えるため)。
編集: 私はコースの教師ではありません。実験室で彼を手伝っているだけです。もちろん、学生は並行性と分散アルゴリズムの基礎を事前に教えられます。これは、コースの終わりに向かって何か違うことを提案するための単なるアイデアでした.