Middle+
24
0
questionbank

Что произойдёт, если в AppDelegate в основном потоке вызвать 'dispatchQueue.main.sync'?

Answer from sobes.tech neural network

Произойдёт Deadlock (взаимная блокировка).

Объяснение:

  1. AppDelegate работает на главном потоке.
  2. dispatchQueue.main.sync пытается выполнить код в главном потоке синхронно, т.е. ждёт завершения выполнения блока кода.
  3. Но главный поток уже занят выполнением AppDelegate и ожидает, пока блок в sync завершится.
  4. Блок в sync не может начать выполнение, потому что главный поток занят ожиданием.

В итоге, главный поток ждёт выполнения блока, а блок ждёт освобождени

Произойдёт Deadlock (взаимная блокировка).

Объяснение:

  1. AppDelegate работает на главном потоке.
  2. dispatchQueue.main.sync пытается выполнить код в главном потоке синхронно, т.е. ждёт завершения выполнения блока кода.
  3. Но главный поток уже занят выполнением AppDelegate и ожидает, пока блок в sync завершится.
  4. Блок в sync не может начать выполнение, потому что главный поток занят ожиданием.

В итоге, главный поток ждёт выполнения блока, а блок ждёт освобождени

Register or sign in to get access to full answers for all questions from the question bank.

iosmultithreadingdeadlockconcurrencymain-threadsynchronization