PDA

Visualizza la versione completa : C - semafori,problema "accodamento"


gabama
20-12-2009, 17:47
Sto iniziando ad usare i semafori in c,vorrei creare una situazione di questo tipo
ho un incrocio dove ho 20 auto che arrivano da 2 direzioni (facciamo 10 e 10 )e si devono immettere in una nuova strada,e vorrei farne passare 5 da una direzione,tutte e 10 le altre e poi finire le 5
Ho iniziato cosė,

#include "semfun.h"

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#define true 1


main()
{
int semid,semid2,val,val2,n,n2;

semid = semget(IPC_PRIVATE,1,0600);
if (semid == -1) perror("Errore");
printf("Id semaforo: %d\n",semid);
seminit(semid,0,0);
val = semctl(semid,0,GETVAL);
if (val==-1) perror("Errore lettura");
printf("Valore semaforo %d: %d\n",semid,val);


e corretto ?


do {
while (turn != i) {
printf("1\n");
turn = 1-i;
printf("1\n"); }
} while(1);

proseguirei con una cosa di questo genere,sui turni,ma ho bisogno di consigli su come impostarlo,soprattutto a livello di cicli,spero qualcuno abbia tempo.....
Grazie in anticipo

Loading