Corruption de données dans une TStringList

Messages postés
123
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
7 août 2018
- - Dernière réponse : Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
26 juillet 2018
- 2 janv. 2013 à 14:59
Bonjour,
Mon serveur est multi-thread, chaque client ayant son propre thread.
Toutefois, il y a des parties communes comme le classement des clients (ce sont des joueurs).
j'ai bien protégé l'accès de ces parties communes par des mutex mais je constate encore des corruptions dans les TStringList. Serait-il possible que les méthodes des TStringList soient perturbées si plusieurs joueurs appellent la même méthode en même temps?
Faudrait-il que je protège la méthode Add avec une critical section par exemple?
Afficher la suite 

2 réponses

Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
0
Merci
"TStringList soient perturbées si plusieurs joueurs appellent la même méthode en même temps? "
Aparemment oui car sinon tu n' aurai pas de problèmes ...
L' utilisation d' une base de données (mySQL par exemple) résoudra tes problèmes de partage d' information.

a+




Composants Cindy pour Delphi
Faites une donation.
Commenter la réponse de cs_MAURICIO
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
26 juillet 2018
11
0
Merci
« Faudrait-il que je protège la méthode Add avec une critical section par exemple? »


Il serait plus sûr d'utiliser des TThreadLists (des listes de pointeurs d'objet thread-safe) qui sont faits pour ça.
Commenter la réponse de Caribensila