Boost

【boost::thread】スレッド間で同期を取る

メッセージ機構を設けてスレッド間で同期を取る。メッセージキュー(メッセージ受信Box)には boost::lockfree::queue を使う。 これを使うことでキューを自作する必要は無くなり相当楽になる。 サンプルプログラムのシーケンス図 Mainタスクと Subタスク(今回…

【boost::thread】スレッドエントリとして C++ クラスのメンバ関数を呼び出す

作成するスレッドのイメージ Upperクラス Upper.h Upper.cpp main.cpp ビルド方法 スレッドのエントリとしてメンバ関数を使用するパターン。 作成するスレッドのイメージ 以下のように main 関数が Upper クラスの Init 処理と Update処理を同時に走らせる。…

boost::thread について

boost::threadを使う目的 これまで Linux 環境で pthread を使用したマルチスレッドプログラミングをしてきたが、 Windows 環境に移植する際に WinAPI に置き換えることは非効率なので、boost::thread を使用した 実装方法にしようと思う。そこで、boost::th…

【boost::thread】スレッドエントリとして C API を呼び出す

スレッドエントリとして C API を呼び出す スレッドとして Task_a_main と Task_b_main を呼び出すプログラム。 Thtread::join でスレッドが終了するのを待っている。なお、各タスクでは boost::this_thread::sleep と boost::posix_time::milliseconds を使…