De la théorie à gauche ... qu'on aimerait bien en tant que programmeur voir marcher... à la pratique à droite ... et tout ce que cela implique.
Le problème DANS l'ordinateur/smartphone, ...
- Il y a des ressources (mémoire, disque, audio, vidéo, ...) représentées dans l'image par les assiettes de croquettes
- Les threads sont les puppies
- S'il y en a qu'un seul, tout va bien, il naviguera entre les assiettes sans problème
- S'il y en a plusieurs, là c'est le drame... si les assiettes ne sont pas "protégées" pour n'accepter qu'un seul puppies à la fois, ça va être l'explosion => crash, écran bleu, core dump, ...
1 De le hollandais volant -
Une fois j’avais capturé cette image : http://lehollandaisvolant.net/img/b...
Je trouve ça quand même remarquable, de voir des processeurs se partager les tâches de cette façon. Bon par contre, j’imagine que 80% des temps CPU servent à synchroniser l’ensemble et le peu qui reste pour faire les calculs…
2 De Arfy -
Dans une appli multithread
Mutex 1 *got* -> Mutex 2 *got* -> ask for Mutex 3
vs
Mutex 3 *got*-> ask for Mutex 2
== Oups
Mais bon, je ne pense pas que le synchronisme dans du multicore pour plusieurs applications soit si dur.
A l'intérieur d'une même appli c'est autre chose.