Re-entrante read / write lock construct?

Sou um programador .NET experiente e estico minhas pernas com o iOS. Uma das minhas construções multi-threading favoritas no .NET é aReaderWriterLock. Permite múltiplos leitores ou um único escritor. O único recurso que realmente sinto falta no iOS é que os bloqueios são reentrantes. Isso é,threads do leitor podem adquirir o bloqueio de leitura várias vezes contanto que eles liberem o mesmo número de vezes. Da mesma forma, o encadeamento de gravador único pode adquirir o bloqueio várias vezes, desde que libere o bloqueio por um número equivalente.

Eu olhei para o iOS Framework e nenhuma das construções parece oferecer o mesmo suporte, incluindo a reentrada. Eu também olhei para a biblioteca pthread. Eu encontrei rwlock, mas isso não permite re-entrancy.

Existe alguma coisa no iOS que permita bloqueios de leitura / gravação reentrantes?

questionAnswers(2)

yourAnswerToTheQuestion