URL: https://linuxfr.org/forums/programmation-c--2/posts/pthread-vs-ipc-sys-v Title: Pthread vs IPC sys V Authors: matthieu_b Date: 2007年03月18日T10:59:23+01:00 Tags: Score: 0 Bonjour, Je développe actuellement un logiciel. J'ai besoin de traiter une pile / file de messages à envoyer à une partie serveur pour les traiter. Je dois cependant attendre une confirmation de la réception du message pour le valider. Première solution, j'utilise un thread qui tourne tout le long de mon programme et qui regarde sur une pile mise en static quelque part dans une fonction. Cette pile est remplie au fur et à mesure par mon programme. J'en arrive à devoir quelques variables statiques afin de ne pas "poutrer" tout mon code d'arguments dans tous les sens. J'utilise donc : int my_socket( void* data, int mask ); Qui contient 3 statiques : le fd de la socket, et les adresses. void* my_netstack( void* data, int mask, ... ); Qui permet de remplir une pile dont le pointeur sur la tete est en statique. les mask correspond a des commandes telles que INIT, FREE, CLOSE, PUSH, SEND ... Cela me permet aussi un confort pour libérer l'espace mémoire lorsque le programme se prend un sigterm. Je doute que cette solution soit élégante et bonne. Ca ressemble au final à des classes globales. Deuxième solution : Vu que les messages que je doit envoyer sont des chaines de caractères. Pourquoi ne pas faire deux programmes différents et utiliser les IPC et les files de messages, ( voir la mémoire partagée, je ne sais pas ...). Mon expérience dans la programmation système est toute récente. Ce programme est un futur logiciel libre et je souhaite que le code soit le plus "propre" possible.