Message #706
Sujet: C++ Irrlicht 1.1 et Ode 0.7 sous linux
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 11-12-2006 05:34:34 | smeagol |
je n'est pas trop le temps aujourd'hui je vous fait une tuto pour vendredi au plus tard.
je tient à préciser l'importance des mutex et sémaphore. Example: dons un server multi thread. une position d'un joueur est en x=0 et y=0 un thread va déplacer de 5 sur x puis un autre thread de 2. et enfin un dernier de -7 si tout c'est bien passer on retourne en position initial. mais il faut savoir que le processeur de vos machine peux permuter à n'importe quel moment. clos si il permute pendant qu'il n'a pas fini d'ajouter 5 qu'il fait -7 mais la encore il n'a pas terminé qu'il permute aussi et il fait +2. Pendant qu'il fait plus 2 il revient au thread 1 et le termine sauf que la valeur dans la mémoire est à 2. on se retrouve donc à faire un 2+2+2 et la position final est 6. on apel l'objet de position une section critique Comment faire donc pour éviter ces section critique. et bien de déclarer un mutex global au thread. Et faire un lock avant de rentrer en section critique. Ainsi 1 seul thread (Ou plusieurs avec les sémaphore) peu entrer dedans. je tiens à préciser que seul les outils prédéfinis par C/C++ comme le mutex ou autre sont fiable. tous les autres créer pas vous même on des chances de créer des interblocages ou autres problèmes. Un mutex utilise des instructions spécials sur le processeur. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 166 invités en ligne membre en ligne: - RSS Feed |