Sobes.tech
Back to questions
Junior — Middle
65

Что выполняется при использовании метода sync на глобальной очереди DispatchQueue в Swift?

Companies where asked
bip.ru

Answer from AI

sobes.tech AI

Метод sync на глобальной очереди DispatchQueue в Swift выполняет переданный блок кода синхронно на этой очереди. Это значит, что текущий поток будет ждать завершения выполнения блока, прежде чем продолжить работу.

Если вызвать DispatchQueue.global().sync { ... }, то:

  • Текущий поток блокируется до завершения выполнения блока.
  • Блок выполняется на глобальной очереди (фоновом потоке).

Важно помнить, что вызов sync на той же очереди, на которой уже выполняется код, может привести к дедлоку.

Пример:

DispatchQueue.global().sync {
    print("Выполняется на глобальной очереди")
}
print("Этот код выполнится после блока")