У меня есть некоторые вопросы, касающиеся блокировок чтения и записи в POSIX Pthreads в системе * nix, например Linux.
Я хочу знать, что такое смещение по умолчанию для блокировки записи чтения. Предпочитает ли он читать записи или наоборот? Предоставляет ли она api изменение этого поведения по умолчанию.
Предоставляет ли posix pthread некоторый api, чтобы мы могли изменить pthread_rwlock_t, чтобы предотвратить голодание писателя? Из того, что я прочитал (пожалуйста, поправьте меня, если я ошибаюсь), реализация по умолчанию смещена в сторону потоков читателей, и поэтому потоки писателя могут столкнуться с голодом.
Я прочитал пример реализации rw lock из книги "Программирование с помощью потоков Posix" Дэвида Бутенхофа.
Я хочу знать, как posix pthreads обрабатывают голодание писательских потоков? Есть ли какое-нибудь api-приложение, в котором мы могли бы установить атрибуты блокировки записи чтения, которые предотвратили бы запись голода (я никогда не слышал об этом)? Или пользователь должен решить эту проблему?
Если вы считаете, что ответ определен реализацией, пожалуйста, дайте мне пример того, как это делается в Linux, потому что это то, что я ищу.
Обратите внимание, что я просто хочу решения для системы * nix. Не думайте, что я груб, но публикация какого-то кода для Windows бесполезна для меня.
Спасибо всем за вашу помощь и терпение:)