Back to tasks
SelectyGet help with live coding in real time with Sobes Copilot
Middle — Senior
42
Определите порядок вывода чисел в программе (вариант 4)
Companies where asked:
Task condition
Дана небольшая программа на 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 из главного потока приводит к дедлоку, поэтому часть кода может не выполниться.