Page 1 of 1

Zerstörungsreihenfolge, wenn jthread ein Klassenmitglied ist

Posted: 14 Jan 2025, 11:21
by Guest
Ich habe eine Klasse, die die Synchronisierung einiger Threads übernimmt.

Code: Select all

class ThreadHandler {
std::vector threads;
std::mutex mut;
std::condition_variable cv;
int some_int;
// some other synchronization related variables
};
In C++ werden Member-Destruktoren in umgekehrter Reihenfolge aufgerufen, sodass der Destruktor für cv vor dem Destruktor für Threads aufgerufen wird. Da der Destruktor für Threads die Jthreadss verbindet, gibt es eine Zeitspanne, in der cv und mut zerstört wurden und die Jthreadss noch ausgeführt werden . Ist das ein Problem?