Les primitives de communication inter-processus sont en général :
Les messages permettent de synchroniser des processus distants.
Il existe des variantes en fonction des sémantiques :
Soient les quatre processus suivant qui représentent d'une part deux philosophes mangeurs de spaghettis; d'autre part deux fourchettes qu'ils se partagent.
La syntaxe est inspirée de CSP (! pour emettre et ? pour recevoir), et la sémantique est celle du rendez-vous.
Processus P(i) /* i de 0 a 1 */
begin while true do begin 0 F(i) ! prendre; 1 F(1-i) ! prendre; 2 F(1-i) ! poser; 3 F(i) ! poser; end; end. |
Processus F(i) /* i de 0 a 1 */
begin while true do begin L P(0) ? prendre ![]() or L P(1) ? prendre ![]() end; end. |