#include #include #include #include #include #include /* Les villes */ #define P 0 // Paris #define N 1 // Nevers #define C 2 // Clermont #define L 3 // Lyon /* Code des threads */ void* train_de_P_vers_C(void* arg); void* train_de_L_vers_P(void* arg); void utiliser_le_segment(int ville_depart, int ville_arrivee) { //A completer } void liberer_le_segment(int ville_depart, int ville_arrivee) { // A completer } int main() { /* Creer autant de trains que necessaire */ } // Completer en rajoutent les temps de parcours void* train_de_P_vers_C(void* arg) { utiliser_le_segment(P, N); printf("Train %d : utilise segment Paris Nevers \n",(int)arg); liberer_le_segment(P, N); printf("Train %d : libere segment Paris Nevers \n",(int)arg); utiliser_le_segment(N, C); printf("Train %d : utilise segment Nevers Clermont \n",(int)arg); liberer_le_segment(N, C); printf("Train %d : libere segment Nevers Clermont\n",(int)arg); pthread_exit(NULL); } // Completer en rajoutent les temps de parcours void* train_de_L_vers_P(void* arg) { utiliser_le_segment(L, N); printf("Train %d : utilise segment Lyon Nevers\n",(int)arg); liberer_le_segment(L, N); printf("Train %d : libere segment Lyon Nevers\n",(int)arg); utiliser_le_segment(P, N); printf("Train %d : utilise segment Nevers Paris\n",(int)arg); liberer_le_segment(P, N); printf("Train %d : libere segment Nevers Paris\n",(int)arg); pthread_exit(NULL); }