Возникли проблемы с функцией flock ()
У меня есть вопрос о том, какflock()
работает, особенно в Python. У меня есть модуль, который открывает последовательное соединение (черезos.open()
). Мне нужно сделать эту тему безопасной. Это достаточно легко сделать потокобезопасным при работе в том же модуле, используяthreading.Lock()
, но если модуль импортируется из разных мест, он ломается.
Я думал об использованииflock()
, но я не могу найти достаточно информации о том, как именно работает стадо. Я прочитал, что flock () разблокирует файл после его закрытия. Но есть ли ситуация, при которой файл останется открытым при сбое Python?
И что именно разрешено использовать заблокированный файл, еслиLOCK_EX
установлен? Просто модуль, который заблокировал файл? Любой модуль, который был импортирован из сценария, который был первоначально запущен?