En fait je suis prêt à faire l'éloge des threads le jour où elle permettront de faire ce qu'on peut faire aujourd'hui avec shm:
J'ai lu ta discussion avec pasBill sur le sujet. Seulement, les threads
ça n'a pas le même usage, et ça ne répond pas au même besoin que
SHM. C'est 2 choses complètement différentes.
Un thread, c'est un fil d'exécution. Les threads à l'intérieur d'un
processus se partagent le même espace d'adressage (voir mon
post un peu plus bas sur le fonctionnement pour i386). Donc quand
on modifie l'espace d'adressage, c'est valable pour tous les threads.
Après je ne comprends pas bien la remarque sur le ralentissement
par rapport aux 3 Go. Tu peux expliciter ?
Au fait, juste une remarque par rapport aux SHM. Sur un système
Linux/Unix, tu as des limitations par rapport au nombre et à la taille
de segments SHM que tu peux créér.
Par exemple, sous Linux, maximum 4096 segments pour le
_système_. Tu vas me dire que sous Linux c'est tunable (ce qui est
vrai), mais c'est pas forcément le cas de tous les Unix.
[^] # Re: vs POSIX shared memory, X, nouvelles threads
Posté par galactikboulay . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 2.
J'ai lu ta discussion avec pasBill sur le sujet. Seulement, les threads
ça n'a pas le même usage, et ça ne répond pas au même besoin que
SHM. C'est 2 choses complètement différentes.
Un thread, c'est un fil d'exécution. Les threads à l'intérieur d'un
processus se partagent le même espace d'adressage (voir mon
post un peu plus bas sur le fonctionnement pour i386). Donc quand
on modifie l'espace d'adressage, c'est valable pour tous les threads.
Après je ne comprends pas bien la remarque sur le ralentissement
par rapport aux 3 Go. Tu peux expliciter ?
Au fait, juste une remarque par rapport aux SHM. Sur un système
Linux/Unix, tu as des limitations par rapport au nombre et à la taille
de segments SHM que tu peux créér.
Par exemple, sous Linux, maximum 4096 segments pour le
_système_. Tu vas me dire que sous Linux c'est tunable (ce qui est
vrai), mais c'est pas forcément le cas de tous les Unix.