// // Created by mrnek on 25.05.2023. // #include #include #include #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