Gestion de processus

Solution pour 2 processus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
int turn; 
int interested[2]; 
void entrer_region(int processus) 
{ 
    int other; 
    other=1-processus; 
    interested[processus]=true; 
    turn=processus; 
    while (turn==processus && interested[other]==ture) 
    { /*LOOP*/ } 
}

Autre solution pour N processus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
int turn; 
int interested[N]; 
void entrer_region() 
{ 
    for (i=0; i<N;i++) 
    { 
        if (interested[i]==true) 
            processus=i; 
        turn=processus; 
    } 
    for (j=0;j<N && j!=i; j++) 
    { 
        if (interested[j]==ture)
        { /*LOOP*/ } 
    }
}
EST CE QUE C JUSTE ?????