Das Übergeben eines Mutex-Verweises an einen Thread verursacht Kompilierungsfehler. Warum ist es nicht möglich (ich habe mehrere Threads mit der gleichen gemeinsamen Variablen), und wie kann ich es beheben?Warum ist das Übergeben von Mutex an Thread nicht möglich?
#include<iostream>
#include<thread>
#include<mutex>
void myf(std::mutex& mtx)
{
while(true)
{
// lock
// do something
// unlock
}
}
int main(int argc, char** argv)
{
std::mutex mtx;
std::thread t(myf, mtx);
t.join();
return 0;
}