Re-entering konstrukcja blokująca odczyt / zapis?

Jestem doświadczonym programistą .NET i rozciągam nogi z iOS. Jedną z moich ulubionych konstrukcji wielowątkowych w .NET jestReaderWriterLock. Pozwala na wielu czytelników lub jednego pisarza. Jedyną cechą, której naprawdę brakuje mi w iOS, jest to, że zamki są ponownie wprowadzane. To jest,wątki czytnika mogą wielokrotnie uzyskiwać odczytany blokadę tak długo, jak wypuszczają go tyle samo razy. Podobnie pojedynczy wątek zapisujący może uzyskać blokadę wielokrotnie, o ile zwalnia blokadę o równoważną liczbę.

Przejrzałem ramy iOS i żadna z tych konstrukcji nie wydaje się oferować tego samego wsparcia, w tym ponownego entrancy. Zajrzałem też do biblioteki pthread. Znalazłem rwlock, ale nie pozwala to na ponowne entrancy.

Czy w systemie iOS jest coś, co umożliwia ponowne wprowadzanie blokad odczytu i zapisu?

questionAnswers(2)

yourAnswerToTheQuestion