С момента появления библиотеки thread
в C++11 я просматривал свой код, внося некоторые изменения, чтобы переместить его из многопоточного кода, специфичного для платформы, в код переносимой стандартной библиотеки.
Однако меня интересует, есть ли разница в производительности или функциональности между стандартной библиотекой std::mutex
и std::lock_guard<std::mutex>
и специфическими для Win32 CMutex
и CSingleLock
.
У меня нет опыта профилирования многопоточного кода, и я не знаю внутренностей ни одного из двух классов мьютексов, поэтому я даже не могу предположить.
CMutex
иCSingleLock
взяты не из Win32, а из MFC, сторонней библиотеки C++, которая является оболочкой для Win32. C-API. Хотя на практике, вероятно, существует совпадение 1-к-1 междуCMutex
и базовым мьютексом Win32. - person Christian Rau   schedule 31.05.2013