[C/C++] Synchroniser efficacement deux processus.

Synchroniser efficacement deux processus. [C/C++] - C++ - Programmation

Marsh Posté le 16-06-2003 à 15:15:49    

Bon, la gestion des tâches sous windows étant apparemment foireuse, j'aimerais avoir qq pistes pour synchroniser efficacement deux processus, un ayant priorité sur l'autre, les deux ayant une priorité max par rapport aux éventuels autres processus.
 
Je peux utiliser un ordonanceur externe qui lancera les fonctions de chacun des processus à une cadence définie (messages->callbacks).
 
Je peux utiliser un sémpahore relaché et repris plusieurs fois par la tâche peu prioritaire et pris une fois et relaché une fois par la tâche prioritaire...
 
Des solutions plus judicieuses / commentaires ?
 
Merci  :jap:


---------------
L'ennemi est con : il croit que c'est nous l'ennemi, alors que c'est lui ! (Desproges)
Reply

Marsh Posté le 16-06-2003 à 15:15:49   

Reply

Marsh Posté le 16-06-2003 à 15:37:25    

Reply

Marsh Posté le 16-06-2003 à 15:50:07    


 
Merci qd même, mais si je poste ici c'est que j'attends une réponse... CodeProject, c'est sympa, mais s'il me faut une heure pour trouver une page parlant de loin de mon pb spécifique :/
 


---------------
L'ennemi est con : il croit que c'est nous l'ennemi, alors que c'est lui ! (Desproges)
Reply

Marsh Posté le 16-06-2003 à 16:25:51    

SetThreadPriority() pour les threads
SetPriorityClass pour les process

Reply

Marsh Posté le 16-06-2003 à 16:26:48    

Konar a écrit :

SetThreadPriority() pour les threads
SetPriorityClass pour les process


 
Oui, mais justement, sous windows, apparemment c'est parfois approximatif... :/


---------------
L'ennemi est con : il croit que c'est nous l'ennemi, alors que c'est lui ! (Desproges)
Reply

Marsh Posté le 16-06-2003 à 16:34:28    

leFab a écrit :


 
Oui, mais justement, sous windows, apparemment c'est parfois approximatif... :/


 
t'as vu ca ou ?
met un process ki prend 100% du cpu en high ou realtime, tu verras si c'est approximatif...

Reply

Marsh Posté le 16-06-2003 à 16:41:12    

Konar a écrit :


 
t'as vu ca ou ?
met un process ki prend 100% du cpu en high ou realtime, tu verras si c'est approximatif...


 
 :??:  
Bien sur que si tu mets UN thread en TIME_CRITICAL dans un process en REALTIME tu bouffera tt ton temps CPU.
 
Mais ça fait un bout de temps que je manipule tout ça et il se trouve que dans le cas de plusieurs process et thread de priorité équivalente, cette "équivalence" est assez approximative et machine-dépendante. [:spamafote]


Message édité par leFab le 16-06-2003 à 16:41:32

---------------
L'ennemi est con : il croit que c'est nous l'ennemi, alors que c'est lui ! (Desproges)
Reply

Marsh Posté le 16-06-2003 à 16:46:59    

vu ton pb de départ (synchroniser efficacement deux processus, un ayant priorité sur l'autre, les deux ayant une priorité max par rapport aux éventuels autres processus), tu mets le processus le plus important en high, l'autre en above normal et voila.
 
apres, est-ce que windows gere tout ca de la facon qu'il faut, je pense ke oui, meme si c'est evidemment pas parfait comme tu l'as souligné.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed