Ich weiß, dass Sie in einigen Situationen vermeiden können, Mutexe ( std::mutex
) zu sperren, indem Sie std::atomic
verwenden, um die Leistung zu erhöhen.
Können Sie eine solche Situation benennen und vorzugsweise einen Beispielcode zeigen? Wie verwenden Sie std::atomic
?
Wenn ich einen Mutex sperre, verschlechtert sich auch die Leistung, weil andere Threads ihre Arbeit für den Zeitraum, in dem der Mutex gesperrt ist, nicht fortsetzen können. Ist das das einzige Problem mit einem Mutex? Ich meine, blockiert / entriegelt einen Mutex, eine teure Operation oder es geht nur darum, was ich oben erwähnt habe?
Tags und Links c++ multithreading c++11 stdthread stdatomic