タグ

threadとpatternに関するUSAGI-WRPのブックマーク (1)

  • C++スレッド遅延開始の実装5パターン - yohhoyの日記(別館)

    局所的に「スレッド開始を遅延させる」ネタが盛り上がっていたので、C++とBoostライブラリを用いた色々な実装方法をまとめてみました。 この記事で対象とするのは、下記コードにある2つの要件を満たす実装方法です。 (1) スレッドを管理するオブジェクトXのコンストラクト時ではなく、その後の任意タイミングで新スレッド処理を開始する。 (2) オブジェクトXのデストラクト時に、上記(1)の別スレッドがまだ実行中ならそのスレッド処理完了を待機する。 class X { // threadオブジェクトを保持するメンバ変数 void do_() { /* 別スレッド処理 */ } public: ~X() { // (2) 別スレッドがまだ実行中なら完了を待機する } void start() { // (1) 新しいスレッドを開始して関数do_を実行する } }; int main() { X x;

    C++スレッド遅延開始の実装5パターン - yohhoyの日記(別館)
  • 1