我有一個線程定期寫入文件(writeThread),另一個線程(readThread)異步讀取文件。 readThread可以使用不同的句柄訪問文件,而不是弄亂任何東西?線程之間的Python共享文件訪問
如果沒有,Python是否有共享鎖,可以由writeThread使用,但不會阻止readThread?我不喜歡簡單的非共享鎖,因爲文件訪問的順序爲毫秒,而writeThread寫週期的順序相同(週期取決於某些外部參數)。因此,即使writeThread可能釋放鎖,也可能會出現這種情況,它會立即重新獲取並因此導致飢餓。
我能想到的解決方案是維護文件的多個副本,一個用於讀取,另一個用於寫入,並避免整個情況。但是,涉及的文件大小可能會變得很大,因此使此方法不可取。
有沒有其他的選擇,或者這是一個糟糕的設計?
感謝