Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS:[NSData writeToFile:原子:是]线程安全吗?_Ios_Objective C_Atomic_Apfs - Fatal编程技术网

iOS:[NSData writeToFile:原子:是]线程安全吗?

iOS:[NSData writeToFile:原子:是]线程安全吗?,ios,objective-c,atomic,apfs,Ios,Objective C,Atomic,Apfs,我试图找出如果我使用多个线程的方法[NSData writeToFile:atomicaly:YES]写入同一个文件会发生什么。线程完成写入后,是否可以保证文件不会被损坏 为了简单起见,您可以假设文件系统是APFS(iOS 11+) 该问题也与NSFileManager相关 [replaceItemAttribute:WithItemAttribute:backupItemName:options:resultingItemURL:error://为什么还要使用多个线程写入文件?它是线程安全的,

我试图找出如果我使用多个线程的方法
[NSData writeToFile:atomicaly:YES]
写入同一个文件会发生什么。线程完成写入后,是否可以保证文件不会被损坏

为了简单起见,您可以假设文件系统是APFS(iOS 11+)

该问题也与
NSFileManager
相关
[replaceItemAttribute:WithItemAttribute:backupItemName:options:resultingItemURL:error://为什么还要使用多个线程写入文件?它是线程安全的,但您只能获取上次写入的内容。在这种情况下,我看不到任何实际的用例会让你担心线程安全。一种可能的情况是,一个网络库被要求从两个线程下载同一个文件,每个线程完成后将文件复制到同一个目录。当然,多次调用同一个请求是多余的,但我不想假设它不会发生。如果可能的话,多个线程可以写入同一个文件,那么您应该提供管理它的功能。例如,这将允许您拒绝该操作,而不是践踏另一个线程的数据。谢谢!最后,我决定接受你的建议并管理它。