プロセス内に約300個の追加スレッドを作成しています。 スレッドIDに基づいて特定のスレッドに参加する方法はありますか?特定の追加スレッドに参加する
答えて
天国はあなたがどのようにboost::thread
を保存するかによって異なります。あなたは(T = boost::thread*
付き)の容器に保存した場合、あなたがどこかのスレッドを保存し、ちょうどブーストdoesnのため、それは不可能ですポインタを保存せずにnew boost::thread
を使用しない場合、あなたは単に、しかし
for(iterator it = ctn.begin(); it != ctn.end(); ++it){
if(it->get_id() == join_thread_id){
it->join();
break;
}
}
のようなものを使用することができます自動的な簿記機能を提供しません。
1.備考:idを保存するには、boost::thread::id
を使用する必要があります。
2.備考:std::map<boost::thread::id,boost::thread*>
がこのようなタスクに便利です。
または 'find_if(begin(ctn)、end(ctn)、[join_thread_id](iterator it){return it-> get_id()== join_thread_id;}); ' –
スレッドがたくさんある場合、マップは良くありませんか?私はパフォーマンスを念頭に置いてこれを求めています。 –
@ AdriC.S .:「たくさんの」の意味に依存します。引数の数(サブリニアルックアップの複雑さ)に応じてマップのサイズが変わりますが、実際の項目数によっては小さなベクトルが小さなマップよりも優れている可能性があります。 –
- 1. NuGetパッケージから特定の参照を追加する
- 2. グループに参加キーを追加する
- 3. IOSスタックビューaddArrangedSubview特定のインデックスに追加
- 4. 特定のインデックスでリストに追加
- 5. 参照の追加
- 6. 「Web参照の追加」経由でのWCF参照の追加
- 7. Mavenプラグインに特定の設定を追加するには
- 8. wcfサービス参照設定の追加
- 9. Visual Studioで特定のバージョンのバージョンのアセンブリへの参照を追加する
- 10. スレッドを使用する - コレクションに追加
- 11. HTML5 appcache追加/削除、特定のファイル
- 12. チタンの特定のインデックスに行を追加するには
- 13. DataTableの特定の列にArraylistを追加するには?
- 14. Eclipseに特定のヘッダフォルダを追加するには?
- 15. 特定の方向にMovieClipに項目を追加する
- 16. 特定のページに投稿を追加するには?
- 17. 特定のファイルにARCを追加するには?
- 18. 特定のボタンに画像アイコンを追加するには?
- 19. Linuxの特定の行のファイルにテキストを追加する
- 20. プレstashop内の特定のページにfacebookピクセルを追加する
- 21. スーパービューの特定の位置にUITableViewControllerを追加する
- 22. TChart - 一連の特定のポイントにポイントを追加する
- 23. 特定のフォルダのパースペクティブにビューを追加する
- 24. 特定のフォルダにSSL *のみを追加する
- 25. 特定のビルド構成のターゲットにファイルを追加する
- 26. GITサーバーの特定のフォルダにローカルリポジトリを追加する
- 27. 特定のリダイレクトルールの末尾にスラッシュを追加する
- 28. 特定の仮想メソッドのためにパラメータを追加する
- 29. subrepoの特定のサブフォルダを追加するには
- 30. 特定の座標のレイアウトにイメージビューを追加する
どのようにこれらのスレッドを管理していますか? (あなたはどういうわけか、スレッドを覚えていますか?) –