Problemi coi semafori
Inviato: lunedì 14 dicembre 2009, 23:00
Ragazzi come mai questo codice non mi viene compilato?
Mi sono rifatto ad un libro...ah per compilare ho usato la seguente riga
attendo risposte grazias mucio
Codice: Seleziona tutto
#include <stdio.h>
#include <malloc.h>
#include <pthread.h>
#include <semaphore.h>
//dichiaro qui sotto mutex e semafori
pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
sem_t semaforo_1;
sem_t semaforo_2;
sem_init(&semaforo_1,0,0);
sem_init(&semaforo_2,0,1);
void* funzioneThread1(void *parametro);
void* funzioneThread2(void *parametro);
int main() {
pthread_t thread1, thread2;
pthread_create(&thread1,NULL,&funzioneThread1,NULL);
pthread_create(&thread2,NULL,&funzioneThread2,NULL);
pthread_join(thread1,NULL);
pthread_join(thread2,NULL);
return 0;
}
void* funzioneThread1(void *parametro) {
while(1) {
sem_wait(&semaforo_1);
printf("sta lavorando il thread 1");
sem_post(&semaforo_2);
}
}
void* funzioneThread2(void *parametro) {
while(1) {
sem_wait(&semaforo_2);
printf("sta lavorando il thread 2");
sem_post(&semaforo_1);
}
}
Codice: Seleziona tutto
gcc provaSemafori.c -o programma -lpthread