Lock-freeとWait-freeアルゴリズムとは? わかりやすく解説

Weblio 辞書 > 固有名詞の種類 > 製品 > コンピュータ > その他コンピュータ製品 > 並行性 > Lock-freeとWait-freeアルゴリズムの意味・解説 

Lock-freeとWait-freeアルゴリズム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/12/20 18:32 UTC 版)

Lock-freeとWait-freeアルゴリズムとは、共有データにロックをかけてアクセスを防ぐアルゴリズムとは違い、複数のスレッドが同時並行的に、ある対象データを壊すことなしに読み書きすることを可能にするアルゴリズムである。Lock-free とはスレッドがロックしないことを意味しており、全てのステップにおいてシステムが必ず進行する。これはLock-free ではミューテックスセマフォといった、排他制御のためのプリミティブを使ってはならないことを意味する。なぜならロックを持っているスレッドの実行が中断した場合、全体の進行を阻止しうるからである。Wait-free とは、他のスレッドの動作に関係なく、スレッドがいかなる操作も有限のステップで操作を完了させられることを指す。あるアルゴリズムがLock-freeであるがWait-freeでないことはありうる。Wait-free なアルゴリズムは Lock-free である。


  1. ^ Harris, Tim; Fraser, Keir (26 November 2003). “Language support for lightweight transactions”. ACM SIGPLAN Notices 38 (11): 388. doi:10.1145/949343.949340. http://research.microsoft.com/en-us/um/people/tharris/papers/2003-oopsla.pdf. 
  2. ^ Harris, Tim; Marlow, S.; Peyton-Jones, S.; Herlihy, M. (June 15–17, 2005). “Composable memory transactions”. Proceedings of the 2005 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '05 : Chicago, Illinois. New York, NY: ACM Press. pp. 48–60. doi:10.1145/1065944.1065952. ISBN 978-1-59593-080-4 
  3. ^ libcds - C++ library of lock-free containers and safe memory reclamation schema
  4. ^ liblfds - A library of lock-free data structures, written in C
  5. ^ Concurrency Kit - A C library for non-blocking system design and implementation
  6. ^ Herb Sutter. Lock-Free Code: A False Sense of Security”. 2015年9月1日時点のオリジナルよりアーカイブ。2019年9月25日閲覧。
  7. ^ Herb Sutter. Writing Lock-Free Code: A Corrected Queue”. 2008年12月5日時点のオリジナルよりアーカイブ。2019年9月25日閲覧。
  8. ^ Herb Sutter. "Writing a Generalized Concurrent Queue".
  9. ^ Herb Sutter. "The Trouble With Locks".
  10. ^ a b Anthony Williams. "Safety: off: How not to shoot yourself in the foot with C++ atomics". 2015. p. 20.
  11. ^ Herlihy, Maurice P. (1988). “Impossibility and universality results for wait-free synchronization”. Proc. 7th Annual ACM Symp. on Principles of Distributed Computing. pp. 276–290. doi:10.1145/62546.62593. ISBN 0-89791-277-2 
  12. ^ Fich, Faith; Hendler, Danny; Shavit, Nir (2004). “On the inherent weakness of conditional synchronization primitives”. Proc. 23rd Annual ACM Symp.on Principles of Distributed Computing (PODC). pp. 80–87. doi:10.1145/1011767.1011780. ISBN 1-58113-802-4 
  13. ^ Kogan, Alex; Petrank, Erez (2011). “Wait-free queues with multiple enqueuers and dequeuers”. Proc. 16th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPOPP). pp. 223–234. doi:10.1145/1941553.1941585. ISBN 978-1-4503-0119-0. http://www.cs.technion.ac.il/~erez/Papers/wfquque-ppopp.pdf 
  14. ^ Michael, Maged; Scott, Michael (1996). “Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms”. Proc. 15th Annual ACM Symp. on Principles of Distributed Computing (PODC). pp. 267–275. doi:10.1145/248052.248106. ISBN 0-89791-800-2 






固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Lock-freeとWait-freeアルゴリズム」の関連用語

Lock-freeとWait-freeアルゴリズムのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Lock-freeとWait-freeアルゴリズムのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのLock-freeとWait-freeアルゴリズム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS