//костыли для ожидания окончания работы процессов, чтобы не возиться с мьютексами и семафорами
fclose(f); //после того, как прочитали закрываем программу
id--; //минусуем счётчик потока
Из чего можно заключить: потоки и программы выполняются ПОСЛЕДОВАТЕЛЬНО