Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1347 connectés 

  FORUM HardWare.fr
  Programmation
  C

  petit probleme de communication inter thread

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

petit probleme de communication inter thread

n°1866610
birdyz53
Posté le 27-03-2009 à 12:06:04  profilanswer
 

j'ai un souci avec une application multithread je vais essayer d'être claire
 
en gros :
 
j'ai mon IHM dans un thread
 
au démarrage j'initialise un autre thread qui a un callback sur un événement du port série
se thread (numéro 2) verrouille une sémaphore ...
 
lorsque l'ihm fait une demande sur le port série elle attend gentilment que le sémaphore soit libéré
 
des que le port série reçoit une réponse il libère la sémaphore
 
l'ihm reprend alors sont traitement normal et tout le monde est content ...
 
tout le monde ... sauf le pauvre mec qui c'est gouré de port série et qui n'aura donc jamais de réponse... et il verra son appli figée ... a attendre une réponse en vain ...
 
solution ... mettre un timer ... oui mais comment dire au timer de libérer un sémaphore qui a été verrouiller ailleurs ... ben on peu pas (c'est même le but d'une sémaphore...)
 
es que vous auriez des idées de solutions ???

mood
Publicité
Posté le 27-03-2009 à 12:06:04  profilanswer
 

n°1866613
Emmanuel D​elahaye
C is a sharp tool
Posté le 27-03-2009 à 12:18:25  profilanswer
 

birdyz53 a écrit :

solution ... mettre un timer ... oui mais comment dire au timer de libérer un sémaphore qui a été verrouiller ailleurs ... ben on peu pas (c'est même le but d'une sémaphore...)
 
es que vous auriez des idées de solutions ???


Gérer un timer qui détruit le sémaphore (ou qui envoi un message de déblocage) à échéance ...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1866625
birdyz53
Posté le 27-03-2009 à 12:35:31  profilanswer
 

oui mais comment un timer qui s'exécutera si je ne me trompe dans un autre thread peut il détruire une sémaphore qui ne lui appartient pas?  
 
l'ennui ici c'est que la fonction qui libère la sémaphore est exécuter que si une action a lieu sur le port RS232

n°1866630
Emmanuel D​elahaye
C is a sharp tool
Posté le 27-03-2009 à 12:44:08  profilanswer
 

birdyz53 a écrit :

oui mais comment un timer qui s'exécutera si je ne me trompe dans un autre thread peut il détruire une sémaphore qui ne lui appartient pas?


Il suffit de lui passer son adresse au lancement du thread timer...


Message édité par Emmanuel Delahaye le 27-03-2009 à 12:44:25

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1866733
birdyz53
Posté le 27-03-2009 à 15:26:57  profilanswer
 

oui mai le dernier a avoir verrouiller la sémaphore sera l'autre thread... et par principe il n'y a que lui qui peut déverrouiller sa sémaphore non?
 
je ne veux pas entendre par la avoir la sémaphore mais "être le propriétaire" de la sémaphore.

n°1866867
xilebo
noone
Posté le 27-03-2009 à 23:08:53  profilanswer
 

Il est possible de mettre des timeouts sur les sémaphores. Je ne retrouve plus le lien qui en parlait cependant.

n°1867332
birdyz53
Posté le 30-03-2009 à 11:30:39  profilanswer
 

j'ai trouver des fonctions dans l'ide qui correspondent a mon besoin et qui m'ont même permit d'améliorer mon code ...
pour ceux qui connaisse labwindows ... ce sont les fonctions CmtNewTSQ etc...

 

merci a tous en tout cas


Message édité par birdyz53 le 30-03-2009 à 11:31:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  petit probleme de communication inter thread

 

Sujets relatifs
[SQL]Problème pour lancer phpmyadmin sous linux KDEprobleme de syntaxe?
Salut !! PHP Windows IISS (probleme de script)Problème lors de l'exécution d'une Macro Excel
Problème de progress bar sous vistaProblème de pagination
Problème lors de l'ajout d'une BDD Sql server sous Visual StudioInstaller un petit module de news sur la page d'accueil de son site
[problème]Gmail newsletters HTMLprobleme d'animation sur scilab , HELP !!!
Plus de sujets relatifs à : petit probleme de communication inter thread


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR