2007-12-01から1ヶ月間の記事一覧

Balking

デザインパターン(マルチスレッド)まとめ 適切な状態になっていないなら処理を中断する、というパターン。 以下は増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編のサンプルを Boost.Thread を使って書いたコード。 save, doSave メソッ…

Guarded Suspension

デザインパターン(マルチスレッド)まとめ 適切な状態になっていないならスレッドを待たせる、というパターン。 boost::condition を使って実現することが出来る。 以下は増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編のサンプルを Boos…

Immutable

デザインパターン(マルチスレッド)まとめ 読み取りしかしないなら排他制御を行う必要がない、というパターン。 以下は増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編のサンプルを Boost.Thread を使って書いたコード。

Single Threaded Execution

デザインパターン(マルチスレッド)まとめ 同時に実行できるスレッドを1つだけにするパターン。 boost::mutex と boost::mutex::scoped_lock を使えばいい。 以下は増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編のサンプルを Boost.Thr…

とりあえず Boost.Function で

id:melpon:20071208 でこんな関数を書いた。 template<class TObject> boost::_bi::bind_t< void, void (*)(TObject*, boost::function<void (TObject*)>), boost::_bi::list2< boost::arg<1>, boost::_bi::value< boost::function<void (TObject*)> > > > null_check_deleter(boost::function<void (TObject*)> f) { return boo</void></void></void></class>…

インターフェース版 boost::function

boost::function は静的に型が決まっていないと渡すことが出来なくて、それが不便なことがあったりするので、インターフェースを介して boost::function を呼べる virtual_function というのを作ってみた。

「好きを貫く」

自分の「好き」はいつもふらふらと移り変わっていて、 そんなふうに、カチっと定義づけることなどできやしない。 それを、無理矢理「ぼくは○○が好きな人間なんだ」などと定義づけるから、 「好きなステーキを毎日強制的に食わされる牢獄」などに閉じこめられ…

boost::shared_ptr の Deleter

なんかお仕事で Boost が使えそうなふいんき(←なぜか変換(ry になってきたので今のうちに Boost と戯れて慣れておこう。