Forum de la communauté SFML

Aide => Général => Discussion démarrée par: Nixon le Février 07, 2016, 08:05:22 pm

Titre: Souci entre thread
Posté par: Nixon le Février 07, 2016, 08:05:22 pm

Bonjour :)

Je me suis lancé dans le multi-thread et je suis tombé sur une difficulté que je ne comprend pas :

J'ai pour le moment un thread principale et un thread graphique. Mais un bug survient toujours au même endroit dans le thread 2 (graphique) et sur une ligne gérant le clavier dans le principale :

thread 1 : if (event.type == Event::Closed || Keyboard::isKeyPressed(Keyboard::Escape))

thread 2 : window->clear(sf::Color(0,0,0,255));

Je me demandais surtout pourquoi ça arrive (variable partagée entre clear et le clavier?). Sinon pour résoudre le souci ça passe en mettant des mutexs partout mais ça m’embête un peu.

Pour plus de détails :

J'ai bien placé le window->setActive(false);

et j'ai cette erreur :
HackSlash4: ../../src/xcb_io.c:635: _XReply: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Aborted (core dumped)

Je suis sur linux et j'utilise le cpp11 pour mes threads.
Titre: Re : Souci entre thread
Posté par: Xyliaris le Mars 07, 2016, 01:01:18 pm
Pourquoi faire du multithreading quand tu n'en n'as pas besoin ?
Titre: Re : Souci entre thread
Posté par: Cpl.Bator le Mars 08, 2016, 12:05:37 pm
relis bien ceci :
http://www.sfml-dev.org/tutorials/2.3/window-window-fr.php (http://www.sfml-dev.org/tutorials/2.3/window-window-fr.php)
notamment la partie "Choses à savoir à propos des fenêtres"