Est-il acceptable d'utiliser la même socket fd dans plusieurs threads? (over linux)Socket fd en multithreading
Répondre
Cela dépend de ce que vous attendez, mais oui vous pouvez. Si vous lisez des paquets UDP qui sont chacun un message complet, cela peut fonctionner correctement. Si vous lisez des flux de données à partir de TCP, cela ne fonctionnera probablement pas bien.
Vous pouvez avoir plusieurs threads acceptant les connexions entrantes sur une socket et cela peut fonctionner plutôt bien car chaque thread obtient une connexion.
Vous rencontrerez des problèmes de simultanéité en essayant d'envoyer() ou recv() (SOCK_STREAM) à partir de plusieurs threads. Vous devez utiliser une section critique ou d'autres moyens de créer un accès série à send() et recv().
Une chose standard à faire avec les threads est d'avoir le maître listen() & accept(), puis passer le socket à un thread client qui envoie/reçoit/traite à partir de ce socket. Le thread client est responsable de l'appel de close() ou shutdown().
- 1. Sockets TCP C++ Linux fd
- 2. multithreading en utilisant tcplistener
- 3. en utilisant le socket de domaine unix et le partage fd
- 4. Où sont stockés les connecteurs FD?
- 5. sockets linux et multithreading en C
- 6. Sélectionnez EBADF: quel FD est mauvais?
- 7. Comment obtenir le type de périphérique associé à un fd
- 8. Configuration de SVNKit en multithreading
- 9. GC.Collect et multithreading en C#
- 10. Erreurs de multithreading en C#
- 11. Multithreading serveur UDP avec epoll?
- 12. multithreading issue
- 13. C# Multithreading
- 14. Nutch Multithreading
- 15. multithreading Sémaphore
- 16. WPF Multithreading
- 17. SWI-Prolog et contraintes, bibliothèque CLP (FD)
- 18. peut _open() renvoyer un résultat négatif fd?
- 19. Qu'est-ce que l'option/FD de cl.exe
- 20. bash obtenir un fd d'un tuyau
- 21. forkpty - socket
- 22. Peut-on faire du multithreading en VB6?
- 23. multithreading et abonnement/publication approche en javascript
- 24. Problèmes avec time.sleep et Multithreading en Python
- 25. MultiThreading et Deadlock
- 26. Multithreading vs processus
- 27. multithreading dans Flex
- 28. simple multithreading Question
- 29. VB.net Simple multithreading
- 30. Boucle de multithreading personnalisée