我是一名有经验的.NET程序员,正在尝试iOS开发。在.NET中,我最喜欢的多线程构造之一是ReaderWriterLock。它允许多个读取器或一个写入器。我现在在iOS中真正缺失的一个特性是锁的可重入性。也就是说,只要读取线程释放相同数量的锁定,它们就可以多次获取读取锁定。同样地,单个写入线程可以多次获取锁定,只要它通过等效数量释放锁定即可。
我已经研究了iOS框架,但没有任何构造物似乎提供相同的支持,包括可重入性。我还研究了pthread库。我找到了rwlock,但它不允许可重入性。
是否有任何在iOS上允许可重入读写锁的方法?
我已经研究了iOS框架,但没有任何构造物似乎提供相同的支持,包括可重入性。我还研究了pthread库。我找到了rwlock,但它不允许可重入性。
是否有任何在iOS上允许可重入读写锁的方法?
@synchronized
是可重入的,但不支持多个读取器。使用GCD需要对我现有的代码进行一些重大的重构。 - Askable