/* Page prose (fr) */
"WrappingUp" = "# Récapitulatif\n\nEnvelopper le travail dans un objet `Operation` échange la commodité d'une closure contre de la réutilisation et du contrôle, un échange qui ne paie que lorsque tu as besoin de l'objet. La plupart de la confusion ici porte sur le timing: quand le travail s'exécute vraiment, et quand son résultat est prêt. Garde clairs les points du cycle de vie ci-dessous et les opérations restent prévisibles.\n\n* Une **`Operation`** est du travail enveloppé comme un objet, donc elle peut porter un nom, un état, des entrées et des sorties, et plus tard supporter l'annulation et les dépendances.\n* **`BlockOperation`** est l'option rapide; `.start()` l'exécute **de façon synchrone sur le thread courant**, donc à elle seule elle ne te donne aucune concurrence. Ajoute-la à une file pour sortir du travail du thread principal.\n* Une **`OperationQueue`** exécute des opérations sur des threads en arrière-plan. Par défaut elle en exécute plusieurs à la fois, donc l'ordre de complétion est imprévisible; seul **`maxConcurrentOperationCount = 1`** la rend en série et dans l'ordre.\n* **Crée une sous-classe de `Operation`** et redéfinis **`main()`** pour du travail réutilisable avec des entrées et sorties stockées comme propriétés; garde-le synchrone et il est terminé quand `main()` retourne. N'appelle jamais `main()` toi-même: appelle `start()` ou ajoute à une file, qui gère l'état de l'opération.\n* Les opérations sont à **usage unique** (démarre chaque instance une seule fois, crée-en une nouvelle pour réexécuter) et lis une sortie seulement *après* que le travail est terminé, jamais juste après `addOperation`.\n* Choisis GCD pour de simples closures à lancer et oublier; choisis les Operations quand tu as besoin du travail comme un objet gérable.\n\n---\n\n## La suite\n\nLe chapitre suivant couvre [les dépendances et l'annulation des Operations](Operation%20Dependencies%20and%20Cancellation.playgroundchapter/Overview): comment dire \"relie *après* avoir imprimé,\" comment annuler du travail déjà en file, et comment écrire des opérations dont le travail survit à `main()`.\n\n[Précédent](@previous)  |  page 9 sur 9";
