Bonjour,
c'est problème vu en cours dont j'ai pas bien compris.
C'est une simulation de trafic automobile à une intersection entre deux voies (1 et 2) munient de feux tricolores, cette simulation s'appuie sur deux programmes :
- Le programme carrefour exécuté par un seul processus et qui a pour but de gérer les feux tricolores, il est lancé au début de la simulation.
- le programme voiture est exécuté par les autres processus en parallèles.
Voici le code du programme carrefour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int peux_passer = 1; int sens_actif = 1; int voitures_engages = 0;
le code du programme carrefour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 while(1){ sleep(PERIODE); peux_passer = 0; while(voitures_engages>0); sens_actif=3-sens_actif; peux_passer =1;
NB : j'ai cherché sur google avant de venir demander votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int sens = sens_random(); while(!peux_passer || sens != sens_actif()); voitures_engagees++; sleep(TRAVERSEES); voitures_engages--;
Ma question si on dispose de n processus Voitures, comment se fait le lancement du processus principal et les n processus voitures et le processus carrefour ?
Est-ce que cela a une relation avec les sémaphores ?
Merci d'avance.
Partager