flock()
特にpythonでどのように機能するかについて質問があります。シリアル接続を開くモジュールがあります (経由os.open()
)。このスレッドを安全にする必要があります。を使用して同じモジュールで作業するときにスレッドセーフにするのは簡単threading.Lock()
ですが、モジュールが別の場所からインポートされると壊れます。
を使用することを考えてflock()
いましたが、 flock がどのように機能するかについて十分な情報を見つけるのに苦労しています。ファイルが閉じられると、 flock() がファイルのロックを解除することを読みました。しかし、Python がクラッシュした場合にファイルを開いたままにする状況はありますか?
が設定されている場合、ロックされたファイルの使用を正確に許可するものは何LOCK_EX
ですか? ファイルをロックしたモジュールだけですか?最初に実行されたスクリプトからインポートされたモジュールはありますか?