ios 怎么保证nsmutablearray在使用过程正保证线程安全

2025-04-30 21:54:39
推荐回答(1个)
回答1:

你首先要弄明白为什么要实现一个线程安全的NSMutabeArray?线程安全的NSMutabeArray只是个手段,真正的目的是什么?为了实现消息队列?网络操作?还是其它?分析之后,绝大多数情况下,可以将问题简化。

因为没有更多信息,假设还是需要数组。简单的方式,是用一个类比如叫ThreadSafetyArray,将NSMutabeArray包装起来。之后ThreadSafetyArray提供插入和删除的函数。而要遍历,就提供一个walk函数,walk函数传入一个block。

ThreadSafetyArray的所有函数,使用锁或者diapatch_queue保证线程安全。这样你并不需要让NSMutabeArray线程安全,只需要让ThreadSafetyArray线程安全。