マルチスレッドプログラミング相談室 その8at TECH
マルチスレッドプログラミング相談室 その8 - 暇つぶし2ch788:777
11/10/25 17:13:53.40
detach()というメソッドが何を目的にしているのかいまいち理解できないので教えて欲しいです。

>>785 を利用させてもらうと、boost::threadを使う場合(thread_groupで無い場合)
 boost::thread スレッド起動1(受信スレッド関数名、受信クラス、ネットワーク情報、受信バッファ)
 boost::thread スレッド起動2(加工スレッド関数名、加工クラス、受信バッファ、表示キュー)
 boost::thread スレッド起動3(表示スレッド関数名、表示クラス、表示キュー、表示デバイス情報)
で、スレッドを起動しますが、
「あとは、エラー出ても、例外投げても、私は知らないから勝手にやってね。」という場合は、
 スレッド起動1.detach(); スレッド起動2.detach(); スレッド起動3.detach();
と書いてしまっていいんですか?
join()しないと、メモリ的に何かおかしいことになりそうな気がして、ドキュメントを探しているのですが、捗っていないです。

デタッチ自体初めて知った概念なので、理解がすすまないです。
デタッチ:デバッガなどが監視・制御の対象としていた(アタッチしていた)実行中のプログラム(プロセス)を監視下から外すことを「デタッチする」という。

というのは、わかったのですが、自動変数である「スレッド起動x」は、メイン終了で開放されるのではないのですか?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch