myFirstRep/race.h

26 lines
916 B
C

//
// Created by mrnek on 25.05.2023.
//
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#ifndef DATA_RACE_MUTEX_H
#define DATA_RACE_MUTEX_H
#define NUM_PARTICIPANTS 10
#define TUNNEL_CAPACITY (NUM_PARTICIPANTS / 2)
struct race_info {
pthread_mutex_t *tunnel_mutex; // Мьютекс для обеспечения взаимного исключения
pthread_cond_t *start_cond, *finish_cond; // Условные переменные для ожидания начала и завершения гонки
int participants_in_tunnel; // Количество участников в тоннеле
int participants_finished ; // Количество закончивших гонку участников
};
struct race_info *info;
void * participant(void *arg); // Функция для участника гонки
#endif //DATA_RACE_MUTEX_H