Pas si il est sur de ne pas utiliser aucune des autres variables du segment, auquel cas il peut le détacher sans risque, meme si les autres process continueront à l'utiliser. Comme je l'ai deja montré plus haut :)
Mais je me demandes si tu comprends meme ce que je te dis, je parles pas de detacher un segment, je parles de desallouer un petit bloc dans un segment, cf. plus haut l'exemple
T'as vraiment un mal fou a faire la part entre la theorie, qui est bien jolie, et l'implementation pratique dans notre cas precis. Les biblios elles sont mignonnes, mais si elles repondent pas exactement aux besoins ca implique de la cuisine pour adapter, des perfs mauvaises, ...
Et de toutes façons un spinlock ça boucle donc c'est à éviter au maximum dans un algo.
Serieusement, t'as deja fait de la prog. multithread ? Plus je te lis plus j'ai l'impression que tu n'as absolument aucune idee du sujet.
Les spinlocks sont un moyen hyper efficace de locker des sections de code petites et peu embouteillees, c'est facilement 10x plus rapide qu'utiliser un mutex vu qu'il n'y a pas de context-switch.
On en a deja parlé. Soit le segment est hérité et tu as exactement la meme adresse que le pere, soit tu utilises des pointeurs relatifs ou des indices.
Ben oui c'est genial, t'as donc le choix entre :
a) Devoir tout allouer avant que le soft demarre, ce qui est totalement irrealiste
b) Devoir faire du decalage a chaque dereferencement ce qui est un merdier pas possible car plusieurs segments peuvent avoir des decalages differents.
Serieusement, je t'en prie, avant de parler d'un sujet dans lequel tu n'as manifestement aucune experience pratique, essaie toi meme, tu t'en rendras compte tres vite que c'est absolument pas fait pour remplacer des threads.
Sur ce, j'arretes la discussion la, ca tourne en rond et tu ne comprends manifestement pas les problemes causes par les shm.
[^] # Re: le meilleur compromis performances vs sécurité
Posté par pasBill pasGates . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 1.
Mais je me demandes si tu comprends meme ce que je te dis, je parles pas de detacher un segment, je parles de desallouer un petit bloc dans un segment, cf. plus haut l'exemple
Attend, y'a pas plus simple qu'un spinlock.
http://en.wikipedia.org/wiki/Spinlock(...)(...)
La encore plein de biblios libres sont disponibles.
T'as vraiment un mal fou a faire la part entre la theorie, qui est bien jolie, et l'implementation pratique dans notre cas precis. Les biblios elles sont mignonnes, mais si elles repondent pas exactement aux besoins ca implique de la cuisine pour adapter, des perfs mauvaises, ...
Et de toutes façons un spinlock ça boucle donc c'est à éviter au maximum dans un algo.
Serieusement, t'as deja fait de la prog. multithread ? Plus je te lis plus j'ai l'impression que tu n'as absolument aucune idee du sujet.
Les spinlocks sont un moyen hyper efficace de locker des sections de code petites et peu embouteillees, c'est facilement 10x plus rapide qu'utiliser un mutex vu qu'il n'y a pas de context-switch.
On en a deja parlé. Soit le segment est hérité et tu as exactement la meme adresse que le pere, soit tu utilises des pointeurs relatifs ou des indices.
Ben oui c'est genial, t'as donc le choix entre :
a) Devoir tout allouer avant que le soft demarre, ce qui est totalement irrealiste
b) Devoir faire du decalage a chaque dereferencement ce qui est un merdier pas possible car plusieurs segments peuvent avoir des decalages differents.
Serieusement, je t'en prie, avant de parler d'un sujet dans lequel tu n'as manifestement aucune experience pratique, essaie toi meme, tu t'en rendras compte tres vite que c'est absolument pas fait pour remplacer des threads.
Sur ce, j'arretes la discussion la, ca tourne en rond et tu ne comprends manifestement pas les problemes causes par les shm.