Функция dispatch_main
используется для того, чтобы основной поток начал обработку блоков, отправленных в основную очередь. Итак, dispatch_main
— это своего рода цикл выполнения, который не возвращается и, после обработки уже поставленных в очередь блоков, ждет отправки других блоков в основную очередь.
Итак, что произойдет, если dispatch_main
будет вызван из-за пределов основного потока? Если основной поток обрабатывает другую функцию, прерывается ли он, чтобы позволить основному потоку обработать блоки в очереди? Можно ли вызывать dispatch_main
из-за пределов основного потока?