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