Multi-Threading             Et         Cocoa             1ère Partie    Avant l’architecture
PlanMotivation, le pourquoiPlan d’ensemble, le commentMise en oeuvre, l’enfer est dans le détailEt Cocoa dans tout ça...Av...
Motivation, le pourquoiSystème hôte et applicationArchitecture d’une applicationévènementielleLes limites, les problèmesPr...
Système hôte et applicationUn système qui est lordonnanceurDes applications avec leur propresespace mémoireUn système de c...
Architecture d’une application évènementielle     Une boucle infinie     Un ensemble d’entrées sorties     Des Apis Graphiq...
Architecture d’une application évènementielle     Une boucle infinie     Un ensemble d’entrées sorties     Des mécanisme pé...
Les limites, les problèmesUne seule séquence d’instructionUne tâche à la foisLa roue colorée...
PropositionsFaire accomplir les tâches lourdes pardes applications autres et communiqueravecDécouper les tâches en petites...
Plan d’ensemble, le commentUne application, plusieurs ThreadsUne illustration SVP
Une application, plusieurs threads  Une thread principale... le main()  Plusieurs séquences de code simultanées  Sauvegard...
IllustrationMémoire   Code   Pile    Registres   Code   Pile   Registres   Code   Pile   Registres
Mise en oeuvre, l’enfer est dans le détail  Un seul espace mémoire à partager  Granularité  Protéger les données  Communic...
Un seul espace mémoire à partager    Deux threads veulent accéder à la    même valeur en mémoire    Variables locales    T...
GranularitéA quel moment une instruction est elleexécuté et interrompue ?a_ = b+c
Protéger les donnéesSection de code que l’on appellecritiqueInstruction atomique  Garantir qu’une opération de lecture ou ...
Communication entre threads  Transmettre des résultats  Transmettre des ordres
Et Cocoa dans tout ça...RunLoop & InputSourceNSLock & @synchronizedNSRecusiveLockNSConditionLock
RunLoop & InputSourceUne boucle infinie pour attendre que quelquechose se passe sans consommer de ressourcesCPUDes points d...
RunLoop & InputSource
Avec une démo SVPLa démo...
Prochain SlideShare
Chargement dans…5
×

Multi-Threading Et Cocoa

2 041 vues

Publié le

Gérard Iglesias

Publié dans : Technologie, Business
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 041
Sur SlideShare
0
Issues des intégrations
0
Intégrations
702
Actions
Partages
0
Téléchargements
9
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Multi-Threading Et Cocoa

  1. 1. Multi-Threading Et Cocoa 1ère Partie Avant l’architecture
  2. 2. PlanMotivation, le pourquoiPlan d’ensemble, le commentMise en oeuvre, l’enfer est dans le détailEt Cocoa dans tout ça...Avec une démo SVP
  3. 3. Motivation, le pourquoiSystème hôte et applicationArchitecture d’une applicationévènementielleLes limites, les problèmesPropositions
  4. 4. Système hôte et applicationUn système qui est lordonnanceurDes applications avec leur propresespace mémoireUn système de communication inter-application
  5. 5. Architecture d’une application évènementielle Une boucle infinie Un ensemble d’entrées sorties Des Apis Graphiques ou autres
  6. 6. Architecture d’une application évènementielle Une boucle infinie Un ensemble d’entrées sorties Des mécanisme périodiques
  7. 7. Les limites, les problèmesUne seule séquence d’instructionUne tâche à la foisLa roue colorée...
  8. 8. PropositionsFaire accomplir les tâches lourdes pardes applications autres et communiqueravecDécouper les tâches en petites partiespeu coûteusesPasser à autre chose... plus adapté auniveau de l’architecture applicative
  9. 9. Plan d’ensemble, le commentUne application, plusieurs ThreadsUne illustration SVP
  10. 10. Une application, plusieurs threads Une thread principale... le main() Plusieurs séquences de code simultanées Sauvegarde de contexte... instruction courante registres et d’autres... trucs (google est votre ami)
  11. 11. IllustrationMémoire Code Pile Registres Code Pile Registres Code Pile Registres
  12. 12. Mise en oeuvre, l’enfer est dans le détail Un seul espace mémoire à partager Granularité Protéger les données Communication entre les threads
  13. 13. Un seul espace mémoire à partager Deux threads veulent accéder à la même valeur en mémoire Variables locales TLS : Thread Local Storage Resources globales (fichiers, sous process, pipes, e/s ... )
  14. 14. GranularitéA quel moment une instruction est elleexécuté et interrompue ?a_ = b+c
  15. 15. Protéger les donnéesSection de code que l’on appellecritiqueInstruction atomique Garantir qu’une opération de lecture ou d’écriture ne puisse être interrompue pour passer à un autre threadLocks divers et variésConditions
  16. 16. Communication entre threads Transmettre des résultats Transmettre des ordres
  17. 17. Et Cocoa dans tout ça...RunLoop & InputSourceNSLock & @synchronizedNSRecusiveLockNSConditionLock
  18. 18. RunLoop & InputSourceUne boucle infinie pour attendre que quelquechose se passe sans consommer de ressourcesCPUDes points d’entrées pour indiquer qu’il y aquelque chose à faire... E/S Messages ObjC Spécifiques Timers
  19. 19. RunLoop & InputSource
  20. 20. Avec une démo SVPLa démo...

×