Concurrent Programming

C++0x の std::unique_lock - std::defer_lock と std::adopt_lock でちょっと高度なロック管理

http://cpplover.blogspot.com/2011/07/mutex.html C++ のソースコード中に「途中のreturnや例外に気をつけること」などといったコメントはあってはならないため,補足. // 排他的にアクセスするリソース class exclusive_resource { public : std::vector<int> </int>…

C++0x Memory Model 第1回 - 1.9 Program execution

前回の記事:C++0x Memory Model 第0回 - メモリモデルとは何か以下では, C++0x プログラミング言語の標準規格として一貫して N3225 を参照しています.文中で (1.9/12) などという表現が出てきた場合は N3225 における条項を指しています. 太字かつ斜字体…

C++0x Memory Model 第0回 - メモリモデルとは何か

私は,スカートを履いた女の子に,スカートを履いたままぱんつを脱いで,脱ぎ終わったら右手を挙げるようにと,そう命令した.私は,その子が右手を挙げたのを確かに見た.だが,その子のスカートをめくってみたらぱんつはまだそこにあったのだ! - http://t…

ぷろあくた\(^o^)/ ぱ〜とすりぃ〜

Boost.Asio はもうちょっと↓みたいに(ry

ぷろあくた\(^o^)/ ぱ〜とつぅ〜

Boost.Asio はもうちょっと↓みたいに proactor な部分で遊ぶのを前面に押し出してほしい気がします的なっていうかこれさっきゆった. 要 Boost 1.36.0 以上.少なくとも Windows Vista 64bit (ただし WIN32 の configuration でビルド) + MSVC 8.0 では動い…

ぷろあくた\(^o^)/

Boost.Asio はもうちょっと↓みたいに proactor な部分で遊ぶのを前面に押し出してほしい気がします的な. 要 Boost 1.36.0 以上.少なくとも Windows Vista 64bit (ただし WIN32 の configuration でビルド) + MSVC 8.0 では動いたような気がする.改行をコ…

Lock Free Queue

http://www.nicovideo.jp/watch/sm2415630 http://www.cs.rochester.edu/u/scott/papers/1996_PODC_queues.pdf http://d.hatena.ne.jp/tpro/20080301/1204326030 http://www.research.ibm.com/people/m/michael/podc-2002.pdf とぅーどぅーがまったく消化さ…

つまり自分が何を読みたいかというと,ある程度アーキテクチャ非依存な形で cache coherence だとか visibility だとか happens before だとかについて語ってくれる書籍なりサイトではないか,とゆ〜.で,今現在それに一番近いのは各プログラミング言語の規…

C++ とか関係なくマルチスレッドプログラミング云々をやろうとする上で

N2461 の "1.7 The C++ memory model" (のうち "threads of execution" の概念を導入する上で必要な修正がかかった部分) と "1.10 Multi-threaded executions and data races" と "Chapter 29 Atomic operations library" の記述でご飯10杯は食べられるんじ…

っていうか Boost.Threads にセマフォ semaphore 無いんですけどっ!?

副題:最近は (スレッド間で共有されるメモリに対する同期処理としては) セマフォは推奨されていなくて, mutex か, mutex と condition variable の組み合わせを使うことが推奨されている風潮があるんですけどっ!?でもそれに関する具体的な rationale が…

Read/Upgradable/Write Lock

http://thread.gmane.org/gmane.comp.lib.boost.devel/149858/focus=149879 経由で. あは. あはは. あははは. なぜわざわざこんな upgradable mutex なんてもの導入しているかについてはこことかここ参照. upgradable lock を簡単に説明すると「排他的…

From Mechanism to Method:The Safe Stacking of Cats

http://www.ddj.com/dept/cpp/184403815 これ面白かった.この記事,以前読んだことがあったのだけれど,そのときは記事の前半だけ流し読みしてて「知ってる話っぽいからいーや」とか思って途中で読むのやめてた.しかし,後半が例外安全かつスレッド安全な…

今日の収穫物

わーい, amazon に頼んでおいたものが来たー. ISBN:4044292019 ISBN:0130661023 ISBN:4044292027 ISBN:0201633922 ISBN:4044292035 ISBN:0471606952 ASIN:B000EPFRDG ISBN:0134843460 ふふふ,上記のを全部マスターしてより洗練された Cryolite として進化…

Concurrent Programming はじめました

つーわけでにゃんか新しい暇つぶし探した結果,面白そうなエモノ見つけたのでしっ!!まずはいつものように資料漁り.新しいドメインに触れるときのお約束. http://www.acm.org/classics/feb96/ - Communications of the ACM. Vol. 17. No. 10. October, 19…