Fonctions natives dans plusieurs threads

Messages postés
123
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
7 août 2018
- - Dernière réponse : KX
Messages postés
16004
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 juillet 2019
- 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
Afficher la suite 

1 réponse

Messages postés
16004
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 juillet 2019
86
0
Merci
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.
Commenter la réponse de KX