Назад к задачам
SelectyПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Middle — Senior
6
Определите порядок вывода чисел в программе (вариант 4)
Компании, где спрашивали:
Условие задачи
Дана небольшая программа на Swift, в которой последовательно вызываются функции, выводящие числа на консоль, а также используются асинхронные и синхронные вызовы диспетчерской очереди main. Требуется определить, какие числа появятся в выводе и в каком порядке, учитывая особенности работы DispatchQueue.main.async и DispatchQueue.main.sync.
func runTask() {
print(5)
DispatchQueue.main.async {
print(10)
}
print(15)
DispatchQueue.main.sync {
print(20)
}
print(25)
}
func runAnotherTask() {
print(30)
}
// Main Thread
runTask()
runAnotherTask()
Обратите внимание, что вызов DispatchQueue.main.sync из главного потока приводит к дедлоку, поэтому часть кода может не выполниться.