Ouvrir le menu principal

MacGeneration

Recherche

La sortie de Swift 6 avec Swift Concurrency se rapproche

Florent Morin

vendredi 22 mars 2024 à 10:00 • 4

Logiciels

Il y a 3 ans, Apple nous présentait Swift Concurrency, une évolution forte de Swift 5 qui annonçait le début d’un long chemin vers Swift 6. En parallèle, le langage s’est doucement, mais sûrement ouvert à d’autres plateformes, notamment embarquées. Et nous y sommes aujourd’hui : toute les conditions sont désormais réunies afin de passer à une nouvelle version majeure du langage.

Swift Concurrency : gestion optimale des tâches parallèles

Nous en avions déjà parlé à sa sortie : Swift Concurrency améliore l’efficacité des tâches exécutées en parallèle. Cela passe d’abord par une meilleure orchestration au niveau du code de ces tâches qui avanceront en parallèle.

Imaginons une application qui permet de télécharger des images afin de les afficher à l’écran. Lorsque l’utilisateur appuie sur un bouton « Télécharger », plusieurs actions vont être enclenchées en parallèle. Une tâche va se charger de récupérer l’image, mais une autre va afficher un indicateur de chargement. Cela donne une réponse immédiate à l’utilisateur et évite de bloquer l’app pendant le chargement.

Vision (pro) schématique du procédé.

Sur le plan technique, l’action de l’utilisateur sur l’interface est placée dans le fil d’action qui a la plus haute priorité, nommé « Main Actor ». En parallèle, la tâche de gestion d’accès aux données va réaliser plusieurs opérations successives : elle va d’abord vérifier si l’image demandée existe déjà sur le stockage local. À défaut, elle ira la télécharger sur le web, via une autre tâche. Sans entrer dans les détails trop techniques, on peut utiliser les « acteurs » pour faire en sorte qu’un téléchargement ne soit initié qu’une seule fois et que son résultat soit retourné aux différents appelants.

Soutenez MacGeneration sur Tipeee

Cet article est réservé aux membres du Club iGen


Rejoignez la plus grande communauté Apple francophone et soutenez le travail d'une rédaction indépendante. Le Club iGen, c'est:

  • des articles de qualité rien que pour vous
  • un podcast exclusif
  • pas de publicité
  • un site dédié !

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Les petits colis seront soumis aux droits de douane dès 2026

14/11/2025 à 20:30

• 69


Black Friday : le pack de deux caméras euFyCam 2C compatibles HomeKit de retour à 100 €

14/11/2025 à 18:38

• 9


L’iPhone Pocket est maintenant en vente à partir de 159 €, mais il n’y en aura pas pour tout le monde 🆕

14/11/2025 à 18:38

• 111


Design, support lombaire et prix choc : Doro C300 de Sihoo, la chaise ergonomique à ne pas manquer ce Black Friday 📍

14/11/2025 à 17:58

• 0


Striiiipes transforme le logo de l’app Cartes en porte-cartes en cuir

14/11/2025 à 16:37

• 21


Astuce macOS 26 : supprimer l’icône des apps des services cloud dans la barre latérale du Finder

14/11/2025 à 16:21

• 7


Prizmo Remix, le Raccourcis des scanners qui automatise le traitement des scans

14/11/2025 à 15:22

• 3


Promo : le Mac mini M4 de base sous les 600 € ou la version 512 Go pour 743 € 🆕

14/11/2025 à 12:17

• 42


La Chine veut limiter l’accélération par défaut des voitures électriques, sans les rendre lentes pour autant

14/11/2025 à 11:20

• 117


Le MacBook Air M2 est à son prix le plus bas sur Amazon, avec 16 Go de RAM 🆕

14/11/2025 à 11:10

• 57


OpenAI ouvre la porte aux conversations de groupe avec ChatGPT

14/11/2025 à 09:50

• 6


Pourquoi Apple prépare un MacBook « low-cost » pour 2026

14/11/2025 à 09:38

• 19


Football : Apple contrainte de revoir son offre MLS… en attendant la Ligue des champions ?

14/11/2025 à 08:08

• 11


macOS 26.2 disponible en bêta publique avec Edge Light

14/11/2025 à 06:34

• 8


Tesla testerait l’intégration de CarPlay sur ses véhicules

13/11/2025 à 21:00

• 141


Pour les retardataires : le magazine des 25 ans de MacG et son mug sont à nouveau en vente !

13/11/2025 à 20:33

• 63