在 Swift 中实现线程安全的数组有多种方法,下面介绍几种常见的实现方式: 1. 使用串行队列(DispatchQueue) 这是最常用的方法之一: 使用示例: 2. 使用 NSLock 注意:NSLock的版本在复杂操作中容易出错,推荐使用 DispatchQueue。 3. Objective-C Runtime + @synchronized(仅限类类型) 4. Actor(Swift Concurrency,推荐用于新项目) 从 Swift 5.5+开始可以使用 Actor: 使用示例: 5. OSAllocatedUnfairLock(iOS/macOS ≥12.0) 适用于性能要求高的场景: 选择建议 - 简单场景:使用 + barrier flags(最通用) - 新项目/异步代码:优先使用 - 高性能需求:考虑 - 遗留代码兼容:可能用到 每种方法都有其适用场景,DispatchQueue因其易用性和可靠性通常是首选。