def ecriture(self): self.mutex.lock() while (self.lecture!=0): time.sleep(0.1)
tu prends un ticket dans la file d'attente, quand tu la , tu attends q ue les autre est fini
Et comment deux processus différents peuvent ils avoir connaissance de leurs mutex respectifs? A moins de regarder un événement externe commun, comme un fichier, et pour avoir un minimum d'atomicité, en posant un verrou sur le fichier?
déjà il y a un seul mutex et plusieurs threads
le mutex et dans la l'obj tasmemoire
et un mutex cela ressemble de loin a une fifo plus un booléen la fifo c'est la file d'attente le boobéen le guichet
S'il existe des sémaphores system V nommés, c'est justement pour qu e des processus différents puissent y accéder, par leur nom. Le problèm e est qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
-- http://remyaumeunier.chez-alice.fr/
Michel Talon a écrit :
remy <remy@fctpas.fr> wrote:
non
def ecriture(self):
self.mutex.lock()
while (self.lecture!=0):
time.sleep(0.1)
tu prends un ticket dans la file d'attente, quand tu la , tu attends q ue
les autre est fini
Et comment deux processus différents peuvent ils avoir connaissance
de leurs mutex respectifs? A moins de regarder un événement externe
commun, comme un fichier, et pour avoir un minimum d'atomicité, en
posant un verrou sur le fichier?
déjà il y a un seul mutex et plusieurs threads
le mutex et dans la l'obj tasmemoire
et un mutex cela ressemble de loin a une fifo plus un booléen
la fifo c'est la file d'attente le boobéen le guichet
S'il existe des sémaphores system V nommés, c'est justement pour qu e des
processus différents puissent y accéder, par leur nom. Le problèm e est
qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
def ecriture(self): self.mutex.lock() while (self.lecture!=0): time.sleep(0.1)
tu prends un ticket dans la file d'attente, quand tu la , tu attends q ue les autre est fini
Et comment deux processus différents peuvent ils avoir connaissance de leurs mutex respectifs? A moins de regarder un événement externe commun, comme un fichier, et pour avoir un minimum d'atomicité, en posant un verrou sur le fichier?
déjà il y a un seul mutex et plusieurs threads
le mutex et dans la l'obj tasmemoire
et un mutex cela ressemble de loin a une fifo plus un booléen la fifo c'est la file d'attente le boobéen le guichet
S'il existe des sémaphores system V nommés, c'est justement pour qu e des processus différents puissent y accéder, par leur nom. Le problèm e est qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
-- http://remyaumeunier.chez-alice.fr/
talon
remy wrote:
> S'il existe des sémaphores system V nommés, c'est justement pour que des > processus différents puissent y accéder, par leur nom. Le problème est > qu'ils survivent à la mort accidentelle de ces processus. > ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seul processus. Deux processus ne peuvent partager ni un mutex, ni une variable, comme tu le fais dans ton exemple (à moins que la variable ne soit dans un segment de mémoire partagée). Bref ton exemple ne marche au mieux que entre plusieurs threads d'un même processus. Je n'ai jamais dit le contraire. Le moyen standard de faire partager un verrou à deux processus, c'est de le mettre sur un fichier, si on ne veut pas utiliser les IPC SYS V. Et si on veut synchroniser des choses entre threads il y a un moyen canonique, les mutex et les variables de condition, et il n'y a pas besoin d'autre outil.
--
Michel TALON
remy <remy@fctpas.fr> wrote:
> S'il existe des sémaphores system V nommés, c'est justement pour que des
> processus différents puissent y accéder, par leur nom. Le problème est
> qu'ils survivent à la mort accidentelle de ces processus.
>
ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seul
processus. Deux processus ne peuvent partager ni un mutex, ni une
variable, comme tu le fais dans ton exemple (à moins que la variable ne
soit dans un segment de mémoire partagée). Bref ton exemple ne marche au
mieux que entre plusieurs threads d'un même processus. Je n'ai jamais
dit le contraire. Le moyen standard de faire partager un verrou à deux
processus, c'est de le mettre sur un fichier, si on ne veut pas utiliser
les IPC SYS V. Et si on veut synchroniser des choses entre threads il y
a un moyen canonique, les mutex et les variables de condition, et il n'y
a pas besoin d'autre outil.
> S'il existe des sémaphores system V nommés, c'est justement pour que des > processus différents puissent y accéder, par leur nom. Le problème est > qu'ils survivent à la mort accidentelle de ces processus. > ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seul processus. Deux processus ne peuvent partager ni un mutex, ni une variable, comme tu le fais dans ton exemple (à moins que la variable ne soit dans un segment de mémoire partagée). Bref ton exemple ne marche au mieux que entre plusieurs threads d'un même processus. Je n'ai jamais dit le contraire. Le moyen standard de faire partager un verrou à deux processus, c'est de le mettre sur un fichier, si on ne veut pas utiliser les IPC SYS V. Et si on veut synchroniser des choses entre threads il y a un moyen canonique, les mutex et les variables de condition, et il n'y a pas besoin d'autre outil.
--
Michel TALON
remy
Michel Talon a écrit :
remy wrote:
S'il existe des sémaphores system V nommés, c'est justement pour que des processus différents puissent y accéder, par leur nom. Le problè me est qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seul processus.
pas vraiment le lock/unlock oui mais pas le mutex ils partagent tous la même file d'attente Deux processus ne peuvent partager ni un mutex, ni une
variable, comme tu le fais dans ton exemple (à moins que la variable ne soit dans un segment de mémoire partagée). Bref ton exemple ne marc he au mieux que entre plusieurs threads d'un même processus. Je n'ai jamais dit le contraire. Le moyen standard de faire partager un verrou à deu x processus, c'est de le mettre sur un fichier, si on ne veut pas utilise r les IPC SYS V. Et si on veut synchroniser des choses entre threads il y a un moyen canonique, les mutex et les variables de condition, et il n' y a pas besoin d'autre outil.
on est complètement d'accord, pour la synchro ou le partage de ressourc e des processus ,tu peux utiliser les signaux ,pid,ordonnanceur ect
remy
-- http://remyaumeunier.chez-alice.fr/
Michel Talon a écrit :
remy <remy@fctpas.fr> wrote:
S'il existe des sémaphores system V nommés, c'est justement pour que des
processus différents puissent y accéder, par leur nom. Le problè me est
qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seul
processus.
pas vraiment le lock/unlock oui mais pas le mutex ils partagent tous la
même file d'attente
Deux processus ne peuvent partager ni un mutex, ni une
variable, comme tu le fais dans ton exemple (à moins que la variable ne
soit dans un segment de mémoire partagée). Bref ton exemple ne marc he au
mieux que entre plusieurs threads d'un même processus. Je n'ai jamais
dit le contraire. Le moyen standard de faire partager un verrou à deu x
processus, c'est de le mettre sur un fichier, si on ne veut pas utilise r
les IPC SYS V. Et si on veut synchroniser des choses entre threads il y
a un moyen canonique, les mutex et les variables de condition, et il n' y
a pas besoin d'autre outil.
on est complètement d'accord, pour la synchro ou le partage de ressourc e
des processus ,tu peux utiliser les signaux ,pid,ordonnanceur ect
S'il existe des sémaphores system V nommés, c'est justement pour que des processus différents puissent y accéder, par leur nom. Le problè me est qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seul processus.
pas vraiment le lock/unlock oui mais pas le mutex ils partagent tous la même file d'attente Deux processus ne peuvent partager ni un mutex, ni une
variable, comme tu le fais dans ton exemple (à moins que la variable ne soit dans un segment de mémoire partagée). Bref ton exemple ne marc he au mieux que entre plusieurs threads d'un même processus. Je n'ai jamais dit le contraire. Le moyen standard de faire partager un verrou à deu x processus, c'est de le mettre sur un fichier, si on ne veut pas utilise r les IPC SYS V. Et si on veut synchroniser des choses entre threads il y a un moyen canonique, les mutex et les variables de condition, et il n' y a pas besoin d'autre outil.
on est complètement d'accord, pour la synchro ou le partage de ressourc e des processus ,tu peux utiliser les signaux ,pid,ordonnanceur ect
remy
-- http://remyaumeunier.chez-alice.fr/
remy
remy a écrit :
Michel Talon a écrit :
remy wrote:
S'il existe des sémaphores system V nommés, c'est justement pour que des processus différents puissent y accéder, par leur nom. Le problème est qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seu l processus.
pas vraiment le lock/unlock oui mais pas le mutex ils partagent tous l a même file d'attente Deux processus ne peuvent partager ni un mutex, ni une
variable, comme tu le fais dans ton exemple (à moins que la variable ne soit dans un segment de mémoire partagée). Bref ton exemple ne mar che au mieux que entre plusieurs threads d'un même processus. Je n'ai jamai s dit le contraire. Le moyen standard de faire partager un verrou à de ux processus, c'est de le mettre sur un fichier, si on ne veut pas utilis er les IPC SYS V. Et si on veut synchroniser des choses entre threads il y a un moyen canonique, les mutex et les variables de condition, et il n 'y a pas besoin d'autre outil.
on est complètement d'accord, pour la synchro ou le partage de ressou rce des processus ,tu peux utiliser les signaux ,pid,ordonnanceur ect
et grosso modo tu feras le même l'algo l'ordonnanceur 'la file d'attent e' les signaux 'le lock/unlock' avec un bus synchrone ou asynchrone
hai pas la tête :-p
remy
-- http://remyaumeunier.chez-alice.fr/
remy a écrit :
Michel Talon a écrit :
remy <remy@fctpas.fr> wrote:
S'il existe des sémaphores system V nommés, c'est justement pour que
des processus différents puissent y accéder, par leur nom. Le
problème est
qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seu l
processus.
pas vraiment le lock/unlock oui mais pas le mutex ils partagent tous l a
même file d'attente
Deux processus ne peuvent partager ni un mutex, ni une
variable, comme tu le fais dans ton exemple (à moins que la variable ne
soit dans un segment de mémoire partagée). Bref ton exemple ne mar che au
mieux que entre plusieurs threads d'un même processus. Je n'ai jamai s
dit le contraire. Le moyen standard de faire partager un verrou à de ux
processus, c'est de le mettre sur un fichier, si on ne veut pas utilis er
les IPC SYS V. Et si on veut synchroniser des choses entre threads il y
a un moyen canonique, les mutex et les variables de condition, et il n 'y
a pas besoin d'autre outil.
on est complètement d'accord, pour la synchro ou le partage de ressou rce
des processus ,tu peux utiliser les signaux ,pid,ordonnanceur ect
et grosso modo tu feras le même l'algo l'ordonnanceur 'la file d'attent e'
les signaux 'le lock/unlock' avec un bus synchrone ou asynchrone
S'il existe des sémaphores system V nommés, c'est justement pour que des processus différents puissent y accéder, par leur nom. Le problème est qu'ils survivent à la mort accidentelle de ces processus.
ben oui puisqu'ils partagent la même ressource "le mutex"
Ils ne peuvent partager un mutex puisqu'un mutex appartient à un seu l processus.
pas vraiment le lock/unlock oui mais pas le mutex ils partagent tous l a même file d'attente Deux processus ne peuvent partager ni un mutex, ni une
variable, comme tu le fais dans ton exemple (à moins que la variable ne soit dans un segment de mémoire partagée). Bref ton exemple ne mar che au mieux que entre plusieurs threads d'un même processus. Je n'ai jamai s dit le contraire. Le moyen standard de faire partager un verrou à de ux processus, c'est de le mettre sur un fichier, si on ne veut pas utilis er les IPC SYS V. Et si on veut synchroniser des choses entre threads il y a un moyen canonique, les mutex et les variables de condition, et il n 'y a pas besoin d'autre outil.
on est complètement d'accord, pour la synchro ou le partage de ressou rce des processus ,tu peux utiliser les signaux ,pid,ordonnanceur ect
et grosso modo tu feras le même l'algo l'ordonnanceur 'la file d'attent e' les signaux 'le lock/unlock' avec un bus synchrone ou asynchrone