Apple的文件系统编程指南对NSData进行了这样的说明:
“用于读写文件数据的大多数Foundation对象可以在任何单个线程中使用,但不应同时在多个线程中使用。” https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html
我有一个下载任务,其完成处理程序在主队列上运行。此完成处理程序会将客户ch的执行分派到主队列,然后将工作块分派到后台串行队列。
客户端ch接收到Data对象,并可能从中创建UIImage。同时,已调度到后台队列的块将尝试将Data对象写入磁盘。
客户端ch和后台队列的工作块可能同时运行,并且都在“使用” Data对象。我应该防止同时使用还是可以?