
C++で処理を止めずにすべてのスレッドを起動したいのですがうまくいきません。
スレッドをvoid AddThread(const std::thread& th)のように受け取りvectorに格納することはできないのでしょうか。
static std::vector<const std::thread*> ths;
void AddThread(const std::thread& th) {
ths.push_back(&th);
}
void ThreadFunc1() {
while (true) {
std::cout << "ThreadFunc1" << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}
void SartThreadFunc1() {
// AddThreadを使わずに ths.push_back(std::thread(ThreadFunc1));のようにすればうまくいった
AddThread(std::thread(ThreadFunc1));
}
int main() {
for (int i = 0; i < 2; i++) {
SartThreadFunc1();
}
for (const std::thread* th: ths) {
// constなのでjoin()を呼び出せない!!
th->join();
}
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#define中の#のエスケープ
-
C++でShowCursorを使いたい。
-
VC++で文字列から任意の文字を...
-
enumの値から定義名を文字列化...
-
STLでポインタのリストをsort()...
-
gccでコンパイル時のエラー
-
#include "fstream.h"
-
Haru PDF Library
-
VHDLのsignedとunsignedの違いは?
-
C++のifstreamの使い方
-
C++で、テキストファイルを一行...
-
途中からMFCを使用したい
-
空ENTERの判別
-
C++で、環境変数の読み込み方を...
-
C言語のポインターで詰まっている
-
Aの値からBの値を除するとは??
-
「Aに対するBの割合」と「Aに対...
-
255の2の補数、B'00000001'が-...
-
#if 1 #elseの意味について
-
C言語での引数の省略方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++で文字列から任意の文字を...
-
switch文のエラーについて
-
【C++】ヘッダ内でstringを格納...
-
enumの値から定義名を文字列化...
-
なぜ、C++の標準ヘッダをインク...
-
gccでコンパイル時のエラー
-
C++でShowCursorを使いたい。
-
#defineの使い方について
-
VxWorks 6.4ソケット接続につい...
-
空ENTERの判別
-
OpenCVでRAW画像(カラー)を開...
-
CStringとString
-
途中からMFCを使用したい
-
snprintfが使用できない。
-
C++での <iostream.h>と<iostre...
-
_tcscat がうまくいきません(V...
-
リモートデスクトップの接続元I...
-
#define中の#のエスケープ
-
C++ 数値データファイルから2次...
-
コーディング
おすすめ情報