Threads

Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 - 22 oct. 2006 à 19:54
Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 - 23 oct. 2006 à 10:16
Bonjour !

Donc voici mon probleme. J'ai un programme qui appel une thread pour activer un serveur asynchrone, elle mémé a deux autres threads qui sont déclarer, mais pas lancé A et B.
lorsque mon client lui donne le feu vert pour activer la thread A le serveur lance la thread et la je voudrais que cette thread envoie au client différents statuts, le problème étant qu'il me faudrait dans cette thread les sockets de tous les clients connectés et ceux en live si un nouveau client ce connecte qu'il peut direct lui envoyer les messages......
Je ne vois pas comment faire. Il faudrait faire une variable globale pour que les deux threads puissent changer cette variable quand elles le veulent...
Si quelqu'un a une solution, je suis tout ouïe !

 Merci !!

3 réponses

bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
22 oct. 2006 à 20:51
Tu peux essayer avec un singleton qui recupere les clients connectés

++
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
22 oct. 2006 à 22:44
Singleton ou plus simple déclare ta variable comme static.
Par contre ta liste de sockets pourra être utilisée par 2 Threads en même temps et cela peut poser des problèmes : pour éviter ça utilises un bloc lock :
http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/csref/html/vclrflockstatement.asp
0
Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 1
23 oct. 2006 à 10:16
oui mais la mettre en static ok je suis d'accord a partir su moment ou la varaible ce triouve dans la meme classe ors c une nouvelle classe qui est differente de la thread parent ... peut etre y a t'il une solution mais la je vois pas
0
Rejoignez-nous