Bonjour,
Je cherche à partager un tableau de données unique afin de matérialiser la communication entre les fork(). L'idée est que le père renseigne ce tableau lors de chaque création de fils afin que ces derniers puissent s'échanger des informations, en incluant une notion de signal obligeant les fils à écrire dans ce tableau tour à tour.
On m'a suggéré d'utiliser un sémaphore ainsi qu'un segment de mémoire partagé, mais je n'arrive pas à reproduire un squelette sur ce type d'architecture...
J'avoue m'en remettre à vous, lassé de mes nuits blanches vaines :(
# Un exemple de code
Posté par Ontologia (site web personnel) . Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# man IPC
Posté par castorpilot . Évalué à 3.
Je ne suis pas sur d'avoir bien compris ce que tu voulais faire, mais l'idée serait d'avoir une zone de mémoire partagée (shm). C'est le pere qui la crée (avec shmget).
Puis chaque processus peut lire/ecrire dans cette zone (regarde man shmop).
Pour eviter les probleme d'acces concurrent, tu fais passer tous les acces à cette zone par un semaphore unique (man semget / semop, ou alors les semaphores POSIX, man 7 sem_overview). Par exemple, les acces seront du genre :
sem_wait
READ or WRITE
sem_post
Voila, c'est super vague, mais je sais pas trop ce que tu cherches à faire. Il me semble aussi que n'importe quel bouquin/tutorial sur la programmation système unix explique toutes ces notions en détail.
[^] # Re: man IPC
Posté par VikariuS . Évalué à 2.
[^] # Re: man IPC
Posté par VikariuS . Évalué à 1.
Les nuits sont courtes et la pause déjeuné se fait attendre ^_^
[^] # Re: man IPC
Posté par castorpilot . Évalué à 3.
L'avantage, c'est que les threads partagent la memoire, et que tu pourras utiliser ton tableau commun, contrairement au processus qui ont chacuns leur zone mémoire séparée, et donc les pointeurs de l'un ne sont pas valides chez l'autre.
Il faut quand meme faire gaffe aux acces concurrents, avec des semaphores (sem_wait et sem_post autour des acces).
[^] # Re: man IPC
Posté par VikariuS . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.