Closed tom555cat closed 6 years ago
`var results: [FileParserResult] = []
// 1. 解析OC文件 for file in ocFiles { print("Parsing: \(file.lastComponent)") semaphore.wait() DispatchQueue.global().async { if let result = FileParser(file).run(usingCache) { results.append(result) } self.semaphore.signal() } }`
DispatchQueue.global()中的任务是并发执行,同时解析4个文件,在results.append(result)中是否会存在线程安全问题?
确实存在这个问题,多谢提醒
`var results: [FileParserResult] = []
DispatchQueue.global()中的任务是并发执行,同时解析4个文件,在results.append(result)中是否会存在线程安全问题?