gpt4 book ai didi

python - 使用多处理和多线程时锁定文件 - Python

转载 作者:太空宇宙 更新时间:2023-11-03 15:02:49 26 4
gpt4 key购买 nike

我有一个 main.py 文件。该文件使用multiprocessing来执行另一个名为function.py的文件。第二个使用线程将函数f应用于numpy数组的每个组件。 function.py 读取(整个过程中仅一次)文件 file.txt,为 f 读取一些数据,然后清除它(写入一个空文件)。我是否需要锁定 function.py 中的文件 file.txt 以避免从 创建的 N 个进程出现问题main.py执行function.py并在file.txt中读写?如果可以的话,该怎么办?

最后我得到了 semaphore .

最佳答案

是的,在某种程度上它必须被锁定。让多个进程读取文件是没有问题的,只要它们只是读取文件即可。一旦有东西写入文件,您就必须确保读取和写入按所需的顺序发生。

可以通过使用原子创建的锁文件来完成锁定。进程成功创建锁定文件后,它就可以访问该文本文件。处理完文本文件后,它会删除锁定文件。这可确保在给定时间只有一个进程可以访问该文本文件。

关于python - 使用多处理和多线程时锁定文件 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44921103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com