begin process at 2012 02 10 11:20:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Comment faire fonctionner en alternance plusieurs processus?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment faire fonctionner en alternance plusieurs processus?

mercredi 5 janvier 2005 à 19:57:03 | Comment faire fonctionner en alternance plusieurs processus?

Yakurena

Membre Club

Bonsoir,
Mon problème est le suivant :
Je dois trouver un algorithme permettant l'affiche de n1 nombres(n1 étant une variable) à l'aide de n2 processus(n2 étant le nombre de processus utilisés).La difficulté est que les processus ne doivent pas afficher les nombres les uns après les autres mais en alternance : par exemple,s'il y'a 1000 nombres à afficher avec 10 processus,on doit avoir,dans l'ordre:
- le processus 1 affiche 1
- le processus 2 affiche 2
- le processus 3 affiche 3
etc....
-le processus 10 affiche 10
Puis on revient au processus 1 qui affiche 11,au processus 2 qui affiche 12 et ainsi de suite jusqu'à l'affichage de 1000.
Qqn pourrait-il me donner la facon de procéder?
Merci d'avance.

mercredi 5 janvier 2005 à 20:23:52 | Re : Comment faire fonctionner en alternance plusieurs processus?

plus_plus_fab

Salut,

tu sais faire communiquer des processus (MPI, PVM) ?
Sans ça, ça me parait difficile de garantir l'ordre d'arrivée des messages.
Les temporisations n'apporte aucune garantie quand à l'ordre d'arrivée des messages (nombres).
Je pense au schéma maitre-esclave :
le maitre : travaille esclave numéro 1 !
l'esclave travaille ... et renvoi au maitre son travail.
le maitre reçoit le travail de l'esclave no 1, ça lui convient, il dit : OK, travaille esclave numéro 2 !
etc ...
mercredi 5 janvier 2005 à 20:24:11 | Re : Comment faire fonctionner en alternance plusieurs processus?

LordBob

Membre Club
j'ésite a te repondre, j'ai peuit etre une solution, mais je suis pas sur de bien savoir ce qu'est un processus... peux-tu m'expliker stp?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
mercredi 5 janvier 2005 à 21:07:02 | Re : Comment faire fonctionner en alternance plusieurs processus?

Nashua

On parle ici d'algorithme et de synchronisation entre processus.
On peut envisager un master envoyant  des infos a des esclaves et les synchronisant en envoyant un signal a l'esclave. Le master attend l'acquittement de l'esclave avant de passer au suivant.

Deux applications possible :
     - Unix/Linux les pts et signal()  ( plusieurs processus reels).
     - Les threads. ( dans ce cas il n'y a pas reellement de processus  mais des sous process dans un process global).



Yves

mercredi 5 janvier 2005 à 21:49:37 | Re : Comment faire fonctionner en alternance plusieurs processus?

plus_plus_fab

"Unix/Linux les pts et signal()  ( plusieurs processus reels)."
Salut Nashua, je ne vois pas comment échapper aux IPC pour communiquer entre processus ... (à part les socket ...)
Ah OK, je relis le sujet ..., effectivement, le processus esclave n'est pas obligé de renvoyer le résutat lui-meme au processus maitre, il peut l'afficher sur stdout et signaler au maitre qu'il s'est acquitté de la tache. Les signaux peuvent suffire.

jeudi 6 janvier 2005 à 07:20:35 | Re : Comment faire fonctionner en alternance plusieurs processus?

Nashua

Tu as raison ++fab, il est aussi possible de passer par les ipc msgctl() en mode IPC_WAIT ce serait aussi une autre solution elegante.
Mais on ne peut pas  garantir la synchro aussi il faut ajouter les signal().

Il y a aussi les pipes mkfifo() (ce que MS appellait les pipes nommes en OS2 je crois) qui sont tres simples a utiliser.

Yves

jeudi 6 janvier 2005 à 13:50:00 | Re : Comment faire fonctionner en alternance plusieurs processus?

plus_plus_fab

pour les IPC, je pensais à l'utilisation de la surcouche MPI par exemple, qui offre des garanties quand à la synchronisation.
En fait, il y a pas mal de façons de faire ...


Cette discussion est classée dans : affiche, processus, nombres, fonctionner, alternance


Répondre à ce message

Sujets en rapport avec ce message

nombres de palindromes [ par yoyo111 ] urgent svp :ecrire un programme c++ qui affiche le nombres de palindrome trouvé dans un   interval de [1000;10000]ex: entrer [101  202] il nous affich processus sous unix [ par atefensi ] Je veux vous poser quelque question sur les processus sous unixJ'ai le programme suivantMain(){ int i=0 ;If(fork()==0){i=1 ;Exit(i) ;i=2 ;}Printf("%d" problème affichage fenêtres API WIN32 [ par yepla75 ] Bonjour,Je suis nouveau et j'espère poster au bon endroit...Je débute la programmation C / API WIN32 et je veux faire un programme qui affiche une fen probleme modification fichier [ par gusdark ] salut , j'ai un probleme :j'ai fait un code pour modifier une ligne d'un fichier :-il copie les premieres lignes jusqu'a la ligne a modifier dans un a Aide [ par rubaruba ] Bonjour les amisJe ne suis qu'un poussin dans le langage C, et vous soumets ce petit code que je na sais ni compiler ni exécuter: /* Affiche un messag matrices de complexes [ par piruli ] bonjournous avons un projet a rendre pour l'université celui ci étant de créer des matrices de nombres complexes et d'effectuer des opérations dessus. probleme dans le compilateur c [ par maths_info ] salut, j'ai un petit probleme, quand j'ecris une chaine de caractere en c et je le demande de m'affiche il m'affiche des symbole comme le code ascii. une fonction qui convertie les nombres en chaines de caracteres [ par luque19 ] taper 2560 le programme doit ecrire le nombres en lettres   2560 ---> deux milles cinq cents soisente fork() et ressource partagée [ par iam_myst ] Bonjour, Je voudrais créer un programme ou je souhaite partager une ressource entre un processus père et un processus fils. j'ai ma ressource déclarée variable partagé entre processus [ par facilus ] Bonjour,j'ai fais un programme en c sous unix qui consiste a creer 3 fils (avec fork) , j'ai declaré 2 variables globales leur valeurs doivent etre le


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,529 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales