«(A) синхронный» не должен означать многопоточность.
Я почти уверен, что все, что они имеют в виду, это:
- вызов
run(_:options:)
немедленно возвращается - сеанс является непрерывным процессом (по крайней мере, частично)в главном цикле выполнения, так как он имеет обратные вызовы для каждого кадра, но, возможно, также включает другие потоки, которые вы не видите)
В отличие от вызовов, которые являются «синхронными», что означает, что все эффектызавершения вызова до его возврата.