Fonctions natives dans plusieurs threads

cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018 - 18 oct. 2014 à 08:05
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 18 oct. 2014 à 13:56
Bonjour,


--J'ai des erreurs qui apparaissent parfois sans que j'arrive à en trouver l'origine.
J'ai un serveur avec de nombreux threads (un par client et ils sont plusieurs dizaines) et j'en suis arrivé à me poser la question de savoir si les fonctions de Delphi telles que IntToStr ou Blokwrite subiraient des collisions lorsqu'elles sont appelées simultanément par plusieurs clients?

Faut-il les protéger par des sections critiques ou des mutex?

Merci

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
18 oct. 2014 à 13:56
Bonjour,

Je ne connais pas bien Delphi, mais les problèmes avec des threads interviennent lorsqu'il y a une ressource partagée.

Dans le cas de IntToStr le résultat ne dépend apriori d'aucune ressource, il ne devrait donc pas y avoir de problème.

Par contre pour le BlockWrite si les threads partagent le même fichier d'écriture là il peut y avoir de gros problèmes. Mais si chaque thread a son propre fichier il n'y a pas de raison.

Donc effectivement la solution consiste à protéger une ressource partagée en la manipulant dans une section critique.
0
Rejoignez-nous