joinThread を呼び出すとstd::system_error
、結合呼び出しで「無効な引数」がスローされることがあります。このエラーは、gcc でコンパイルした場合にのみ表示されるようで、一貫して再現できるわけではありません。このようなエラーの原因を知っている人はいますか?
以下は、私のコードの縮小版です。
class exampleClass
{
public:
exampleClass()
{
}
~exampleClass()
{
joinThread();
}
void doWork()
{
joinThread();
workThread = std::thread(&exampleClass::threadFunction, this);
}
void joinThread()
{
if(workThread.joinable()) workThread.join();
}
protected:
void threadFunction()
{
std::cout << "Do something that requires time..." << std::endl
}
std::thread workThread;
}
どんな助けでも大歓迎です。