Sobes.tech
Junior — Middle

Que se passe-t-il lors de l'utilisation de la méthode sync sur la file d'attente globale DispatchQueue en Swift?

sobes.tech IA

Réponse de l'IA

La méthode sync sur la file d'attente globale DispatchQueue en Swift exécute le bloc de code passé de manière synchrone sur cette file. Cela signifie que le thread actuel attendra la fin de l'exécution du bloc avant de continuer.

Si vous appelez DispatchQueue.global().sync { ... }, alors :

  • Le thread actuel est bloqué jusqu'à ce que le bloc se termine.
  • Le bloc s'exécute sur la file globale (thread en arrière-plan).

Il est important de se rappeler que l'appel à sync sur la même file où le code s'exécute déjà peut entraîner un blocage (deadlock).

Exemple :

DispatchQueue.global().sync {
    print("Exécuté sur la file globale")
}
print("Ce code s'exécutera après le bloc")