Jetons d'abord un coup d'œil aux questions de l'entretien :
(Partage de vidéos d'apprentissage : tutoriel vidéo Java)
Interview première question : Méthodes de communication inter-processus (VIVO, questions d'entretien Alibaba)
Question d'entretien 2 : Quelles sont les méthodes de communication de processus ? Demandez-moi comment les utiliser, quels types de pipelines existe-t-il et quels sont les méthodes de communication inter-processus ? avantages et inconvénients de chacun. (Questions d'entretien Baidu)
1. Le but de la communication de processus
1. Transmission de données
Un processus doit envoyer ses données à un autre processus.
2. Partage des ressources
Partage des mêmes ressources entre plusieurs processus.
3. Événement de notification
Un processus doit envoyer un message à un autre processus ou à un groupe de processus pour l'informer qu'un certain événement s'est produit
Contrôle de processus
Certains processus veulent. contrôler complètement un autre processus Lors de l'exécution d'un processus (tel qu'un processus de débogage), le processus de contrôle espère intercepter tous les pièges et exceptions d'un autre processus et connaître ses changements d'état en temps opportun.
(Recommandations pour des questions d'entretien plus connexes : questions et réponses d'entretien Java)
Méthodes de communication de processus
1.
Le pipeline est une méthode de communication semi-duplex. Les données ne peuvent circuler que dans une seule direction et ne peuvent être utilisées qu'entre des processus liés. L'affinité de processus fait généralement référence à la relation de processus parent-enfant.
2. Named Pipe (FIFO)
Named Pipe est également une méthode de communication semi-duplex, mais elle permet la communication entre des processus non liés.
3. Le signal
est utilisé pour avertir le processus récepteur qu'un événement s'est produit. Il est principalement utilisé comme moyen de synchronisation entre les processus et entre les différents threads d'un même processus.
4. Sémaphore
Un sémaphore est un compteur qui peut être utilisé pour contrôler l'accès aux ressources partagées par plusieurs processus. Il est souvent utilisé comme mécanisme de verrouillage pour empêcher d'autres processus d'accéder à une ressource partagée lorsqu'un processus accède à la ressource.
5. File d'attente des messages
La file d'attente des messages est une liste chaînée de messages, stockés dans le noyau. Une file d'attente de messages est identifiée par un identifiant (ID de file d'attente). Les files d'attente de messages pallient aux inconvénients liés à la réduction du nombre d'informations de transmission de signal, aux canaux qui ne peuvent transporter que des flux d'octets non formatés et à des tailles de tampon limitées.
6. Mémoire partagée
La mémoire partagée signifie que deux processus ou plus partagent une zone de stockage donnée.
Caractéristiques :
La mémoire partagée est le type d'IPC le plus rapide car le processus accède directement à la mémoire.
Étant donné que plusieurs processus peuvent fonctionner en même temps, une synchronisation est requise.
Sémaphores + mémoire partagée sont généralement utilisés ensemble. Les sémaphores sont utilisés pour synchroniser l'accès à la mémoire partagée.
7. Socket
Socket est également un mécanisme de communication inter-processus, contrairement à d'autres mécanismes de communication, il peut être utilisé pour la communication de processus entre différentes machines
Recommandations associées : Tutoriel d'introduction à Java<.>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!