Comunicación entre procesos e hilos

Tuberías: Las tuberías son un modo de comunicación semidúplex. Cada proceso excluye mutuamente el acceso a la tubería y los datos solo pueden fluir en una dirección, pero la comunicación full-duplex se puede lograr a través de dos tuberías.

* * *Almacenamiento compartido: un espacio de almacenamiento al que varios procesos pueden acceder mutuamente, que puede basarse en una estructura de datos (como una matriz) o un área de almacenamiento.

Cola de mensajes: entrega mensajes estructurados. Cada proceso tiene una cola de búfer de mensajes, muy similar a un buzón. Cuando el proceso A se comunica con el proceso B, puede enviar un mensaje a la cola del búfer de mensajes del proceso A.

Semáforo: se utiliza principalmente para controlar el acceso de múltiples procesos a * * * recursos. Se utiliza principalmente como medio de sincronización entre procesos y entre diferentes subprocesos en un mismo proceso. Los semáforos incluyen dar forma y registrar semáforos. El semáforo formado no cumple con el principio de "dar y esperar", pero el semáforo de grabación tiene primitivas de bloqueo y debilitamiento, que pueden realizar el dar y esperar.

Socket:

A diferencia de otros mecanismos de comunicación, se puede utilizar para la comunicación de procesos entre diferentes máquinas.

La comunicación entre subprocesos no es tan complicada como el proceso, porque los recursos de subprocesos del mismo proceso son básicamente los mismos. Su propósito de comunicación es principalmente la sincronización de subprocesos y la exclusión mutua del acceso a un determinado recurso. por lo que los subprocesos no son tan complicados como un mecanismo de comunicación para el intercambio de datos como en la comunicación de procesos.