Maison >Problème commun >Quelles sont les méthodes de communication inter-processus ?
Les méthodes de communication inter-processus incluent : 1. Les canaux font généralement référence à des canaux sans nom, qui sont la forme la plus ancienne d'IPC dans les systèmes UNIX ; 2. FIFO, qui est un type de fichier ; 3. la file d'attente de messages, qui est ; une liste chaînée de messages, stockée dans le noyau ; 4. Le sémaphore est un compteur ; 5. La mémoire partagée.
L'environnement d'exploitation de cet article : système Windows 7, ordinateur Dell G3.
Les méthodes de communication inter-processus sont :
Les tuyaux
Les tuyaux, font généralement référence à des tuyaux sans nom, sont des systèmes UNIX. La forme la plus ancienne d'IPC.
Caractéristiques :
Il est semi-duplex (c'est-à-dire que les données ne peuvent circuler que dans une seule direction), avec des extrémités de lecture et d'écriture fixes.
Il ne peut être utilisé que pour la communication entre des processus qui ont une relation (également entre des processus parent-enfant ou des processus frères et sœurs).
Il peut être considéré comme un fichier spécial, et des fonctions de lecture, d'écriture et autres ordinaires peuvent également être utilisées pour le lire et l'écrire. Mais ce n’est pas un fichier ordinaire, n’appartient à aucun autre système de fichiers et n’existe qu’en mémoire.
2. FIFO
FIFO, également connu sous le nom de tube nommé, est un type de fichier.
1. Caractéristiques
FIFO peut échanger des données entre des processus non liés, contrairement aux canaux sans nom.
FIFO est associé à un nom de chemin et il existe dans le système de fichiers en tant que fichier de périphérique spécial.
3. File d'attente de messages
La file d'attente de 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).
Fonctionnalités
La file d'attente des messages est orientée enregistrement et les messages qu'elle contient ont un format et une priorité spécifiques.
La file d'attente des messages est indépendante des processus d'envoi et de réception. Lorsque le processus se termine, la file d'attente des messages et son contenu ne sont pas supprimés.
La file d'attente des messages peut réaliser une requête aléatoire de messages. Les messages ne doivent pas nécessairement être lus dans l'ordre premier entré, premier sorti, mais peuvent également être lus en fonction du type de message.
4. Sémaphore
Le sémaphore est différent de la structure IPC déjà introduite. Les sémaphores sont utilisés pour mettre en œuvre l'exclusion mutuelle et la synchronisation entre les processus, plutôt que pour stocker les données de communication inter-processus.
Caractéristiques
Le sémaphore est utilisé pour la synchronisation inter-processus. Pour transférer des données entre les processus, il doit être combiné avec la mémoire partagée.
Le sémaphore est basé sur le fonctionnement PV du système d'exploitation, et les opérations du programme sur le sémaphore sont toutes des opérations atomiques.
Chaque opération PV sur le sémaphore ne se limite pas à ajouter 1 ou à soustraire 1 à la valeur du sémaphore, mais peut également ajouter ou soustraire n'importe quel entier positif.
Prend en charge les groupes de sémaphores.
5. Mémoire partagée
La mémoire partagée fait référence à deux processus ou plus partageant 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.
Si vous souhaitez en savoir plus sur la programmation, merci de faire attention à la formation php rubrique !
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!