gpt4 book ai didi

ios - 如何知道另一个线程是否正在访问资源?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:44:37 30 4
gpt4 key购买 nike

我有一个线程将文件写入文档目录,而另一个线程将尝试访问该文件并检查它是否可用以便使用它,否则它将使用一个临时变量。我的问题是如何测试另一个线程是否已完成写入文件,或者在我检查文件时它是否正在写入。

最佳答案

您可以通过使用辅助文件强制写入是原子的,而不是检查是否完成。

如果您使用支持辅助文件的 API 编写文档,类似于 [NSString writeToFile:... atomically:YES encoding:... error:...],更改就像拨动开关一样简单。

如果您自己编写文件,请先写入一个不同名称的文件,关闭该文件,然后将其重命名为所需的名称。

例如,在将文档写入@"myfile.doc" 的调用中,您可以将文档写入@"myfile.doc_aux",然后将其重命名为 @"myfile.doc"。如果第二个线程在写入完成之前检查是否存在 @"myfile.doc",则检查将失败。但是,当检查成功时,您可以确定文件已写入完成。

关于ios - 如何知道另一个线程是否正在访问资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20269535/

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