Как реализовать механизм блокирования повторного входа через параллельную очередь отправки (GCD)?

Я только что прочиталэта почтаи его решение кажется убедительным:

Последовательная очередь используется для синхронизации доступаdispatch_get_specific / dispatch_set_specific используется для обеспечения возможности повторного входа.

Что меня интересует, так это то, можно ли продвинуть эту схему, чтобы внедрить механизм блокировки повторного входа дляпараллельная очередь отправки (каждое чтение выполняется с помощью dispatch_sync, запись выполняется с использованием dispatch_barrier_async, как описаноздесь см. «Один ресурс, несколько читателей и один писатель»).

Постскриптум Я думаю, что мне удалось реализовать это с помощью[NSThread currentThread].threadDictionary Вотно я не люблю иметь дело с[NSThread currentThread] так как я полагаюсь на GCD. Можно ли заменить использование[NSThread currentThread].threadDictionary с некоторыми хитрымиdispatch_set_specific/dispatch_get_specific код?

Ответы на вопрос(1)

Ваш ответ на вопрос