2009-12-27から1日間の記事一覧

threadクラスの実装。その3-eventクラス-

condition variableのほうが一般的でしょうか? とりあえずwindowsなので、イベントのラッパーを作ってみます。 eventクラス #include <windows.h> class event { typedef HANDLE handle_t; public: event( bool manual_reset, bool init_state ) { handle = CreateEven</windows.h>…

threadクラスの実装。その2-intrusive_ptrを使う-

出来るだけdeleteは書きたくないので、前回実装したintrusive_ptrを使って修正します。 修正する項目は thread_data_baseクラスのデストラクタをprotectedにする thread_data_baseクラスに参照カウンタを追加。 thread_data_baseクラスにintrusive_ptr_add_r…

intrusive_ptrの実装。

C++

最近、個人的にはshared_ptrより使用頻度の高いintrusive_ptrを実装してみます。参照先のオブジェクト側で参照カウンタを管理するスマートポインタですね。 intrusive_ptrが実体化、コピーされるときにintrusive_ptr_add_ref(T*)、破棄されるときにintrusive…

threadクラスの実装。その1

XAudio2のイベント通知のためにthreadクラスが必要になったので、テンプレートを使って実装してみたいと思います。ただし、pthreadは使ったことがないので、windowsのみの実装になります。 参考サイト Boost.Threads 前回雑記で書いたthreadクラスの実装を晒…