Napisałem następujący kod do testowania moje rozumienie std::mutex
Dlaczego blokowania std :: mutex nie blokuje nić
int main() {
mutex m;
m.lock();
m.lock(); // expect to block the thread
}
A potem dostałam system_error: device or resource busy
. Czy drugi blok nie powinien blokować wątku?
Jest tylko jeden wątek, dlaczego warto go zablokować? – stijn
Inne wątki zostaną zablokowane; nie ma gwarancji, że bieżnik posiadający muteks będzie posiadał (i faktycznie ta wersja powoduje błąd.) – dlev
Jeśli to drugie połączenie zablokowało wątek, w jaki sposób wątek zostanie odblokowany? –