Задать вопрос
@sportredwhite

Deadlcok в swift?

Ребят никак не могу понять daedlock, race condition понял, а вот deadlock никак(
Объясните плз

Почему когда вызываю DispatchQueue.main.sync {} в main потоке, идёт взаимная блокировка?
Я понимаю, что sync блокирует поток. Но ведь когда задача выполнится, main поток опять свободен.
И почему задача в DispatchQueue.main.sync {} не может быть выполнена?

И ещё тут же спрошу, другую задачу)

print("a")
DispatchQueue.main.async {
    DispatchQueue.main.async {
        print("b")
    }
    print("c")
}
print("d")


Почему ответ будет a, d, c, b ?

Потому что DispatchQueue.main.async {} уходит в конец очереди? что именно здесь происходит?
  • Вопрос задан
  • 5413 просмотров
Подписаться 2 Комментировать
Подписчики вопроса 2 К ответам на вопрос (0)