J'ai deux questions qui me sont venus en développant un système serveur-client, utilisant les thread :
1) Si deux thread en même temps, travaillent sur le même espace mémoire, il y a t'il un risque de plantage ? Est ce impossible,...
2) Si deux thread en même temps, font une requête sur la même base de donnée, pareille, Est ce possible ? Il y a t'il risque de plantage ?
J'ai un ou plusieurs invalid memory access qui se baladent, et je dois avouer que je n'ai pas encore trouvé la source de l'erreur (ou des erreurs), et je me demandais si c'était pas tout simplement le fait que les deux thread bossent en même temps sur la même chose.
edit : une autre question, que je n'ai pas posé pensant avoir trouvé le problème, quand j'envoie plusieurs messages en même temps via une connections TCP, certains messages ne sont pas reçu côté serveur ? Je me demandais d'où cela pouvait venir, j'ai vue, que plusieurs messages reçu à un très court intervalle pouvait être considéré comme un unique message côté serveur, mais même en prenant en considération cette 'variable', sur 5 messages envoyé en même temps (un simple delay(10) entre chaque message supprime ce problème), le serveur en récupère 2. C'est un problème de taille de mémoire tampon ? Une erreur de codage ? Quelqu'un à une idée ?
Deux questions concernant les threads
-
- Messages : 117
- Inscription : dim. 21/déc./2008 18:39
Deux questions concernant les threads
http://www.purebasicstreet.com/ - Site dédié à purebasic.
Re: Deux questions concernant les threads
Bien sûr que c'est possible. C'est pour cela que tu as des mutex et des semaphores pour éviter les conflits.
-
- Messages : 117
- Inscription : dim. 21/déc./2008 18:39
Re: Deux questions concernant les threads
Ma question est justement là, dans ces deux cas là, l'utilisation des mutex/semaphore est obligatoire ou je peux continuer comme si sa ne posais pas de soucis ?
http://www.purebasicstreet.com/ - Site dédié à purebasic.
Re: Deux questions concernant les threads
Tous les cas sont différents, mais en général, si tu accèdes au même espace mémoire, ça me semble obligatoire! Pour ce qui est de la base de données, elle a normalement des mécanismes de verrouillage qui évitent d'accéder au même enregistrement ; il faut juste mettre en place des systèmes d'attente ou de vérification.
Re: Deux questions concernant les threads
Moi je te conseil d'utiliser ce qu'on viens de te dire
d'ailleurs j'aimerais bien t'aider mais moi même j'aimerais bien savoir comment faire
d'ailleurs j'aimerais bien t'aider mais moi même j'aimerais bien savoir comment faire

La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
-
- Messages : 117
- Inscription : dim. 21/déc./2008 18:39
Re: Deux questions concernant les threads
Merci pour les réponses, j'ai commencé à mettre des mutex un peu partout ! Et sa marche mieux qu'avant moins de bugs qui sortaient de nul part !
http://www.purebasicstreet.com/ - Site dédié à purebasic.