並列

C++0xのブロックスコープstatic変数が素晴らしい件

yamasaのネタ帳の「C++0x時代の Double-Checked Locking」を読んだ。Double-Checked Locking(DCL)を正しく実装するには、atomicな操作とメモリバリアが必要であるという話。 C++0xでそれが可能になったのだそうだ。メモリバリア付きでatomicな操作はWindows…

TAoMPのLockOneクラス

「The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで」を少しずつ読んでいる。 まだ最初の方しか読んでいないが、証明は読みなれないので骨が折れる。正しい理解かどうかはわからないが、とりあえずメモ。LockOneクラスの Lemma …