blog

Multi-threading et communications à travers un réseau

Source de l’image :
https://media.geeksforgeeks.org/wp-content/uploads/20201031110311/Multiserver.png

La communication au sein des réseaux informatiques est essentiellement basée sur les sockets. Un socket est un point d'extrémité qui fonctionne en établissant une liaison de communication réseau bidirectionnelle entre l'extrémité du serveur et le programme de réception du client. Ainsi, à partir des sockets, il est possible de faire dialoguer deux nœuds se trouvant sur un réseau.

img

Auteur de l’image :
sharmaaditya13064 / www.geeksforgeeks.org


Mais qu’en est-il lorsque le dialogue doit se dérouler entre plus de deux nœuds du réseau ? C’est le cas des fora de discussion proposés par les applications de messagerie instantanée où plusieurs agents prennent part à la même discussion.

img

Source :
https://info.blaisepascal.fr/nsi-sockets-python

L’implémentation d’un tel modèle fait appel à une technique très importante appelée « Multithreading ». Le multithreading est l’habileté d’un processeur à faire fonctionner de manière simultanée plusieurs instances du même programme. Ainsi, un processeur est dit multithread s'il est capable d'exécuter efficacement plusieurs threads simultanément.

img

Source de l'image :
https://www.studytonight.com/operating-system/multithreading

Le multithreading est d’une importance capitale pour les communications à travers un réseau. En effet, un dialogue entamé entre un programme client et un programme serveur correspond à l’exécution du thread principal du processeur de la machine hébergent le programme serveur. Lorsque ce dernier doit communiquer avec plusieurs programmes clients, le multithreading intervient et consiste à créer autant de threads que de communications entre le programme serveur et les programmes clients.

Illustration :
Désignons par :
- A un équipement informatique muni d’un processeur et hébergeant le programme serveur
- B1, B2, …, BN des équipements informatique hébergeant respectivement un programme client.
Pour que le programme serveur hébergé sur A puisse communiquer simultanément avec les N programmes clients, le processeur de A doit exécuter N threads différents.



Auteur :

Comments

1 2

Commenter



Total des visites

386

Visites dernières 24h

1