Разве мы не можем использовать dispatch_async для чтения?
Нет, dispatch_async
говорит: «Отправьте этот блок кода для асинхронного запуска, но не ждите его завершения». Но цель «читателя» - обеспечить потокобезопасный доступ к значению и вернуть это значение. Если вы используете dispatch_async
, вы можете вернуться назад из метода «reader», прежде чем блок dispatch_async
сможет запустить.