Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
#include <stdio.h>
#include <pthread.h>
#include <semaphore.h>
int main()
{
pthread_t tid1, tid2, tid3;
if (sem_init(&s1, 0, 0) == -1) {
perror("Initializing semaphore 1");
exit(1);
}
if (sem_init(&s2, 0, 0) == -1) {
perror("Initializing semaphore 2");
exit(1);
}
if (pthread_create(&tid1, NULL, f2, NULL))
{
perror("Thread creation\n");
exit(2);
}
if (pthread_create(&tid2, NULL, f3, NULL))
{
perror("Thread creation\n");
exit(2);
}
if (pthread_create(&tid3, NULL, f1, NULL))
{
perror("Thread creation\n");
exit(2);
}
pthread_exit(NULL);
}