'a chaque dereferencement Comment sais tu que plus aucun process ne l'utilise ?
nattch, le nombre de process qui attachent un segemnt, est géré auto par le système POSIX. ce qui lui permet d'effacer auto un segment quand il n'est plus utilisé si tu en a fait la demande par RMID (car laisser un segment sans proc peut être voulu aussi, et c'est aussi possible si tu ne fais pas de RMID).
Utilises la commande ipcs pour lister tous les IPC de ton système POSIX (je suis pas sûr que win respecte bien POSIX à la lettre :) ).
Les spin-lock sont évidemment utilisables facilement sur les segments partagés.
Je te rappelle que un seul segment, effacé automatiquement par RMID quand il ne sert plus, peut contenir toutes les variables partagées. Celles qui sont privées ne sont pas dans le segment.
Que ce soit des threads ou des processus, je ne vois pas vraiment la difference,
C'est simple: un thread qui utilise par inadvertance une variable privée d'un autre thread ne fait pas crasher l'appli: c'est un bug silencieux et très pervers.
Ces bugs ne sont systématiquement évitables, et sans surcout, qu'avec shm.
[^] # Re: vs POSIX shared memory,pointeurs,RMID,spin
Posté par free2.org . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 2.
Comment sais tu que plus aucun process ne l'utilise ?
nattch, le nombre de process qui attachent un segemnt, est géré auto par le système POSIX. ce qui lui permet d'effacer auto un segment quand il n'est plus utilisé si tu en a fait la demande par RMID (car laisser un segment sans proc peut être voulu aussi, et c'est aussi possible si tu ne fais pas de RMID).
Utilises la commande ipcs pour lister tous les IPC de ton système POSIX (je suis pas sûr que win respecte bien POSIX à la lettre :) ).
Les spin-lock sont évidemment utilisables facilement sur les segments partagés.
Je te rappelle que un seul segment, effacé automatiquement par RMID quand il ne sert plus, peut contenir toutes les variables partagées. Celles qui sont privées ne sont pas dans le segment.
Que ce soit des threads ou des processus, je ne vois pas vraiment la difference,
C'est simple: un thread qui utilise par inadvertance une variable privée d'un autre thread ne fait pas crasher l'appli: c'est un bug silencieux et très pervers.
Ces bugs ne sont systématiquement évitables, et sans surcout, qu'avec shm.