Deux questions concernant les threads

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
stombretrooper
Messages : 117
Inscription : dim. 21/déc./2008 18:39

Deux questions concernant les threads

Message par stombretrooper »

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 ?
http://www.purebasicstreet.com/ - Site dédié à purebasic.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Deux questions concernant les threads

Message par djes »

Bien sûr que c'est possible. C'est pour cela que tu as des mutex et des semaphores pour éviter les conflits.
stombretrooper
Messages : 117
Inscription : dim. 21/déc./2008 18:39

Re: Deux questions concernant les threads

Message par stombretrooper »

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.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Deux questions concernant les threads

Message par djes »

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.
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Deux questions concernant les threads

Message par dayvid »

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 :lol:
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
stombretrooper
Messages : 117
Inscription : dim. 21/déc./2008 18:39

Re: Deux questions concernant les threads

Message par stombretrooper »

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.
Répondre