|
Bas de page | |
---|---|
Auteur | Sujet : Communication par signaux entre thread |
Publicité | Posté le 09-04-2002 à 21:49:40 |
Jar Jar Intaigriste | Beuark, quelle horreur, on n'utilise pas de signaux entre threads, ce n'est pas du tout portable, et rien ne dit que ça marchera dans une version prochaine de la glibc.
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Je peux utiliser des processus plutot que des threads mais je dois utiliser des SIGNAUX. --------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
Je vois ça, justement les fonctions de style mutex, sémaphores et conditions des threads, ça sert à ça. Dans l'implémentation LinuxThreads, tout ça est fait à base de signaux, mais c'est assez compliqué (et c'est l'implémentation la plus crade des threads POSIX).
[jfdsdjhfuetppo]--Message édité par Jar Jar--[/jfdsdjhfuetppo] --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
bjbebert |
Tu es dans le même process. Ce n'est pas getppid (c'est bien le père ) dont tu as besoin, mais le pid du process dans lequel tu te trouves. |
Matheo Pourquoi moi ? | Je pensais que je pouvais éviter d'utiliser des fork() mais j'ai bien peur que ce ne soit pas possible. Il ne me reste plus qu'à me taper pas mal de code pour essayer de trouver un moyen de faire ce foutu tp.
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
La vache ! C'est pas des TP de tapettes, qu'on vous fait faire
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? |
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
Ça pourrait marcher. Je ne te le conseille vraiment pas, parce que ça peut donner tout et n'importe quoi.
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Ouais c'est vrai ! Je prendrai pas de chance et je vais essayer de faire qqchose avec les fork(). Reste à savoir comment m'amuser à gérer tous les fils en même temps. Parce que de la façon mon TP fait, j'ai au moins 6 processus fils plus le père.
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Publicité | Posté le 09-04-2002 à 23:43:33 |
Jar Jar Intaigriste |
Auquel cas, soit tu t'arranges pour que les fils n'aient pas à communiquer entre eux mais seulement avec le père, soit tu utilises un segment de mémoire partagée, soit tu trouves une sale combine : je me souviens avoir utilisé jadis une cascade de tubes récursive entre fils pour faire remonter les pids jusqu'au père. Ça marchait bien (je rigole rien que de repenser à cette idée). --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | 1) Je vais avoir un nombre de processus variables (entre 2 et 20)à chaque exécution. Comment je fais pour en créer autant que je veux tout en enregistrant leur pid à chaque fois car il faut que je puisse les appeler par la suite ?
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste | 1) Je vais avoir un nombre de processus variables (entre 2 et 20)à chaque exécution. Comment je fais pour en créer autant que je veux tout en enregistrant leur pid à chaque fois car il faut que je puisse les appeler par la suite ?
[jfdsdjhfuetppo]--Message édité par Jar Jar--[/jfdsdjhfuetppo] --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? |
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
Avec ça, tu n'auras pas N processus, mais 2^N...
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Ouais, c'est pas pire ton affaire ! Je pense que je vais m'en inspirer [jfdsdjhfuetppo]--Message édité par Matheo--[/jfdsdjhfuetppo] --------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
Les segments de mémoire partagée, c'est un truc très compliqué pour faire des choses simples. C'est pour ça que depuis on a inventé les threads. (Pareil pour les signaux d'ailleurs, depuis on a inventé les mutex.)
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Ça y est, je commence à y voir clair dans tout ça ! C'est pas évident mais je pense que je vais parvenir à me débrouiller. Je te remercei très fort pour toutes tes indications et si t'habitais proche de chez moi, je te payerais volontiers une bière. --------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
Je t'en prie. --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Au fait, t'habites dans quel coin ? --------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
c01n c01n.
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Moi je suis à Montréal ! 5000 km pour boire une bière ça fait un peu loin quand même ! --------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
Ouaip ! Surtout que je ne bois pas de bière ! --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Juste une petite précision concernant la création des processus
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste | 1) fork renvoie une valeur non nulle (à savoir le pid du fils) uniquement quand on est dans le père, donc c'est le seul à rester dans la boucle, ce qui fait qu'à la fin i==NbMax.
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Étant donné que j'ai un nombre variable de processus mais qu'ils font presque tous la même fonction, est-ce que je peux faire :
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste | Aucun problème pour ces deux trucs. --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Est-ce possible d'exécuter une fonction A lorsque j'envoie un signal SIGCONT du père au fils et une fonction B quand j'envoie un signal SIGCONT du fils au père ?
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste | Oui, ça devrait se faire.
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Je comprends vraiment pas !
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste | Tu viens de comprendre pourquoi on a inventé les sémaphores et les mutex.
--------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? |
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste |
Tu as du mettre le père dans une autre boucle, alors... À moins que la fonction du père ne soit exécutée par erreur par un fils, sinon. --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Là je comprends vraiment pas ce qui se passe.
[jfdsdjhfuetppo]--Message édité par Matheo--[/jfdsdjhfuetppo] --------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Jar Jar Intaigriste | Normal, les processus fils sont morts, le programme terminé, puisque tu ne leur fais rien faire. --------------- « No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book |
Matheo Pourquoi moi ? | Ils devraient au moins afficher un message. Sinon, à quoi elle sert la fonction pause() ? --------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Matheo Pourquoi moi ? | Est-ce qu'il y a moyen aussi de passer des paramètres à la fonction reliée au signal ?
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Matheo Pourquoi moi ? | Putain que je suis con ! Je suis con, je suis stupide, je ne mérite même pas de vivre !
--------------- Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone. |
Publicité | Posté le |
Sujets relatifs | |
---|---|
[gtk] signaux | [Delphi] : Indy et thread(s) , si quelqu'un pouvait m'aider |
Thread | [JAVA]: Arrêter une thread en train de lire? |
[ Programmation Windows ] Communication réseau ? | [DELPHI] Accéder aux ports de communication |
[JAVA]: [Thread]: Comment relever plusieurs moniteurs lors d'un wait() | [C++] Threading --> PB de creation de thread (MFC) |
[C++ ] comment créer et executer des thread en MFC | [C] thread sous win/dos c est possible ?? |
Plus de sujets relatifs à : Communication par signaux entre thread |