Накладные расходы на мьютексы pthread?

Я пытаюсь сделать API C ++ (для Linux и Solaris) поточно-ориентированным, чтобы его функции можно было вызывать из разных потоков без нарушения внутренних структур данных. В моем текущем подходе я использую мьютексы pthread, чтобы защитить все обращения к переменным-членам. Это означает, что простая функция получения теперь блокирует и разблокирует мьютекс, и я беспокоюсь об этом, особенно потому, что API будет в основном использоваться в однопоточных приложениях, где любая мьютексная блокировка выглядит как чисто служебная информация.

Итак, я хотел бы спросить:

do you have any experience with performance of single-threaded apps that use locking versus those that don't? how expensive are these lock/unlock calls, compared to eg. a simple "return this->isActive" access for a bool member variable? do you know better ways to protect such variable accesses?

Ответы на вопрос(9)

Ваш ответ на вопрос