Bonjour,
j'essaie de comprendre l'article "Architecture d'un jeu vidéo 3D"
http://khayyam.developpez.com/articl...age=page_2#LII
. A la section "II. Les différents modules" il y a l'apparition de mutex, je ne savais pas ce que c'était j'ai donc fait quelques recherches, j'ai compris que ça servais de verrou, et que "lock" servait à actionner ce verrou. Par contre je ne comprends pas la séquence :
en fait je vois pas où apparaissent les threads différents, et si je prends un thread qui par exemple est entrain d'effectuer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void game::run(){ bool current_still_running = still_running; // on crée un verrou pour accéder au mutex boost::mutex::scoped_lock l(still_running_mutex); l.unlock(); while (current_still_running){ n->frame(); g->frame(); gfx->frame(); s->frame(); l.lock(); current_still_running = still_running; l.unlock(); } }
pour moi le mutex est déverrouillé, donc je vois pas en quoi ça empêcherai un autre thread de lancer
Code : Sélectionner tout - Visualiser dans une fenêtre à part g->frame();
et de rentrer dans la boucle... mais là je vois vraiment pas d'où sont créé ces threads.
Code : Sélectionner tout - Visualiser dans une fenêtre à part game::run
note : l'article http://apais.developpez.com/tutoriel...ltithread/#LIV (sur le multithreading) n'est pas finis... il n'y a aucun avertissement lorsque on ouvre l'article...
Partager