2Fermer4
Kevin KoflerLe 28/02/2013 à 15:16
Folco (./1) :
D'abord, "synchroniser" c'est bien, mais avec quoi ? Sur TI, on synchronise avec le dessin de l'écran, pour profiter du temps le plus long possible entre deux dessins d'écran.Sur PC, on synchronise avec quoi ?

La même chose. smile Cf. VSYNC.
C'est là que je commence à penser à un truc que j'ai jamais utilisé (sauf pour en rigoler sur irc), les threads. Déjà, ça permet de séparer proprement ce qui est le traitement d'évènements, le dessin, et que sais-je encore, donc ça m'a l'air bien. Mais faire des threads pour faire des threads n'est pas un but en soi. J'ai demandé à google "pourquoi faire des threads", malheureusement les réponses n'ont pas pleuvu. Il y a 50 tutos sur "comment" les faire, mais pas "pourquoi". Et j'aimerais savoir quelle est la situation qui sera clarifiée par l'emploi bien à propos d'un thread, quelles sont les situations où ça ne serait que travail inutile et compliqué.

Avantages:[ul][li]peuvent simplifier la programmation, parce qu'on laisse la machine décider quand faire quoi au lieu de devoir le décider dans le code de la boucle d'évènements[/li][li]permettent d'utiliser les cores d'un processeur moderne, multicore. (Il faut au minimum 1 thread par core.)[/li][/ul]
Désavantages:[ul][li]nécessitent souvent des synchronisations (ou des opérations atomiques, mais ce n'est pas toujours possible et suffisant) à quelques endroits, alors que le problème ne se pose pas si on a le contrôle sur quand on exécute quoi[/li][li]risque de deadlocks (si on synchronise de manière incorrecte)[/li][/ul]