Boost.Threadを使ってファイル読み込みスレッドをWASAPI出力スレッドを作ろうとしているところ。
少し前に私が使っていたころとメソッドが変わっていたりしているので、そのあたりを復習がてら勉強している。
スレッドは起動時に立ち上げて眠らせておき、必要時に起こそうとしている。Boost.Thread側の状態変数を使うか、Boost.Atomicのatomicを使ってスレッドをコントロールしようかなとか考えている。
threadクラスはメンバとして持ちたい。threadクラスはデフォルトコンストラクタを持っている。なのでインスタンスの構築後にスレッドを起動できるようだ。これは単純に代入でいいのかな?このあたりでmoveが関連しそうなんだけど、move semanticsがあんまり良くわかってないんだよね。おそらく、moveでするから「thread = thread(func);」とかすればmoveが効いてスレッド・リソースが変数間を移動するのではないかと推測しているのだが、どうか。 もう一回本の虫ブログの「rvalue reference 完全解説」を読み返してみようかな。