У меня есть несколько модифицирующих потоков и несколько потоков чтения, которые все обращаются к глобальной переменной X. Я хочу сделать мою политику синхронизации такой:
Когда поток пытается изменить X, ему сначала потребуется блокировка, и несколько потоков могут иметь несколько блокировок.
Когда поток пытается прочитать X, он должен ждать, пока все модифицирующие потоки не снимают свои блокировки.
Есть ли какое-нибудь решение этой ситуации в библиотеке Linux pthread? Большое спасибо