Я изучаю программирование в реальном времени на C, я все еще новичок.Я создал простую периодическую задачу, которая вычисляет сумму, и теперь я пытаюсь синхронизировать две задачи в реальном времени (периодическая задача), одна из задач будет использовать результат, полученный другой задачей.
Мой вопроскак синхронизировать периодические задачи ??сейчас я хочу сделать это, а затем я попытаюсь использовать приоритеты.
Мой второй вопрос: как я могу использовать pthread_create(&th2, NULL, tache2, "2")
, чтобы вернуть int ??
Большое спасибо запомогая мне.
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <semaphore.h>
sem_t evt;
void* tache1(void *arg){
int i=0;
while(i<2){
printf("La tache %s s'execute\n", (char*) arg);
sem_post(&evt);
i++;
}
}
void* tache2(void *arg){
int i=0;
while(i<2){
sem_wait(&evt);
printf("La tache %s s'execute enfin\n", (char*) arg);
i++;
}
}
int main()
{
pthread_t th1, th2;
sem_init(&evt, 0,2 );
pthread_create(&th1, NULL, tache1, "1");
pthread_create(&th2, NULL, tache2, "2");
pthread_join(th1, NULL);
pthread_join(th2, NULL);
return 0;
}