Junior — Middle
Какво се случва при използване на метода sync на глобалната опашка DispatchQueue в Swift?
sobes.tech AI
Отговор от AI
Методът sync в глобалната опашка DispatchQueue в Swift изпълнява предадения блок код синхронно на тази опашка. Това означава, че текущият поток ще чака завършването на блока, преди да продължи.
Ако извикате DispatchQueue.global().sync { ... }, тогава:
- Текущият поток се блокира до завършването на блока.
- Блокът се изпълнява на глобалната опашка (фонов поток).
Важно е да запомните, че извикването на sync на същата опашка, на която вече се изпълнява код, може да доведе до deadlock.
Пример:
DispatchQueue.global().sync {
print("Изпълнява се на глобалната опашка")
}
print("Този код ще се изпълни след блока")