Общая и эксклюзивная именованная блокировка для python

Мне нужно синхронизировать потоки и процессы python (, не обязательно связанные друг с другом )с именованной блокировкой (блокировкой файла, например ). Предпочтительно это должна быть блокировка чтения -записи. Я попробовал fcntl.flock (, у него есть как эксклюзивная, так и общая блокировка ), но он не обеспечивает желаемого уровня блокировки -. Обеспечивает ли функция python fcntl.flock блокировку доступа к файлам на уровне потока?

Мое решение до сих пор заключается в использовании lockfile с memcached (или mmap'ed заблокированным файлом ). Lockfile будет синхронизировать доступ, а memcached будет считать читателей/писателей.

Есть ли решения лучше/быстрее? Знаете ли вы какой-нибудь проект, который уже решает эту проблему?

6
задан Community 23 May 2017 в 11:47
поделиться