我有一个线程定期写入文件(writeThread),另一个线程(readThread)异步读取文件。 readThread可以使用不同的句柄访问文件,而不是弄乱任何东西?线程之间的Python共享文件访问
如果没有,Python是否有共享锁,可以由writeThread使用,但不会阻止readThread?我不喜欢简单的非共享锁,因为文件访问的顺序为毫秒,而writeThread写周期的顺序相同(周期取决于某些外部参数)。因此,即使writeThread可能释放锁,也可能会出现这种情况,它会立即重新获取并因此导致饥饿。
我能想到的解决方案是维护文件的多个副本,一个用于读取,另一个用于写入,并避免整个情况。但是,涉及的文件大小可能会变得很大,因此使此方法不可取。
有没有其他的选择,或者这是一个糟糕的设计?
感谢