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

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

Так что я'я хотел бы спросить:

есть ли у вас опыт работы с однопоточными приложениями, использующими блокировку, по сравнению с теми, которые нет?насколько дороги эти вызовы блокировки / разблокировки по сравнению, например, с. просто "вернуть это->IsActive» доступ к переменной-члену bool?Знаете ли вы лучшие способы защиты таких переменных доступа?

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

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