Bonjour à tous et à toutes
J'utilise massivement les Mutex sur mon application serveur afin de locker des données partagées à travers 3 threads. Pour mon application client, on m'a conseillé d'utiliser autre chose tel que Boos.Asio pour obtenir un système de boîte aux lettres entre le moteur réseau et le moteur de jeu :
Avantages de l'IOCP : plus simple car pas de synchronisation, lock, deadlock ; plus scalable car en grande partie pris en charge par le Kernel ; plus performant ; Boost.Asio a bénéficié du Design de personnes bien plus compétentes que vous et surtout que moi, etc...
Est-ce qu'on pourrait m'expliquer réellement les avantages ? De plus, pourrait-on m'expliquer comment il est possible ajouter/supprimer/lire des données se trouvant dans une même boîte aux lettres sans effectuer de lock ? Pour moi, un lock est obligatoire sur un partage de données (Mutex ou entier atomique).
Ensuite, existe-t-il une meilleure méthode de faire sur une application serveur que d'utiliser massivement les sf::Mutex ? La boîte de réception ne sert absolument à rien ici. Sinon, il y aurait les entiers atomiques. Sont-ils réellement vraiment, mais beaucoup plus efficace que les Mutex pour protéger des variables ? Sinon, une autre solution ?
merci beaucoup et bonne journée !