Para cualquier tipo de comunicación hace falta un método de sincronización entre los procesos que quieren comunicarse entre ellos. Al nivel del programador existen tres variantes como realizar las interacciones entre procesos:
La comunicación no tiene que ser síncrona en todos los casos. Existe también la forma asíncrona donde un proceso deja su mensaje en una estructura de datos compartida por los procesos. El proceso que ha mandado los datos puede seguir con otras tareas. El proceso que debe leer los datos, lo hace en su momento.