1

我似乎找不到任何目标 C 的读写锁。这是给 iphone 开发的。有任何想法吗?本文的附录有一些代码,但不完整。

4

2 回答 2

0

Foundation 提供 NSLock 来帮助您锁定和解锁线程,但我认为它可以帮助您。

于 2011-04-28T19:06:32.870 回答
0

您可以使用dispatch_barrier_async函数和并发队列来实现读写锁。

    dispatch_queue_t queue = dispatch_queue_create("your queue name", DISPATCH_QUEUE_CONCURRENT);
    dispatch_async(queue, ^{
        // execute read task 1
    });
    dispatch_async(queue, ^{
        // execute read task 2
    });
    dispatch_barrier_async(queue, ^{
        // execute write task 1
    });
于 2021-12-07T10:02:48.863 回答