针对 Objective C 的线程安全集合。
一组封装了 NSMutableArray、NSMutableDictionary 和 NSMutableSet 的类,用于线程安全的并发读写访问。灵感来源于 Mike Ash 的一篇帖子。
如果您正在使用 CocoPods,只需将其添加到您的 Podfile
pod 'GRKConcurrentCollections'
否则,只需将 GRKConcurrentCollections
子目录的内容添加到您的项目中。
要使用,只需导入您要使用的集合的头文件
#import "GRKConcurrentMutableArray.h"
#import "GRKConcurrentMutableDictionary.h"
#import "GRKConcurrentMutableSet.h"
然后您可以使用这些实例在多个线程上执行读写操作,不必担心冲突。
请注意,当从多个线程中修改集合的内容时,由于线程调度,实际内容将是不可预测的。应考虑使用“快照”方法来获取任何特定时间的容器内容,或使用 augmentWithBlock:
方法在集合上执行一系列操作而不用担心并发。
有关文档,请参阅每个头文件。
augmentWithBlock:
想法。白天是一名专业的 iOS 工程师,我的名字是 Levi Brown。维护一个博客 grokin.gs,您可以通过以下方式联系到我
Twitter @levigroker
App.net @levigroker
Email [email protected]
非常感谢您的建设性评论和反馈。