Пока я просматривал справочную страницу функции pthread_rwlock_unlock, я заметил, что функция возвратит EPERM, если вызывающий поток не владеет rwlock.
Поскольку блокировка rdlock позволяет нескольким потокам получить блокировку, должна существовать структура данных, такая как ссылка или массив, для хранения идентификатора владельца одного конкретного rwlock.
Здесь возникает вопрос:
Функция rwlock предназначена для достижения эффективности, когда операция чтения выполняется намного чаще, чем операции записи, но если существует большое количество различных потоков, получивших блокировку чтения, каждый раз, когда я вызываю pthread_rwlock_unlock (), требуется время дляузнайте погоду вызывающая ветка является действительным владельцем.какова временная сложность этого сценария ..
Большое спасибо, ребята:)