Я создаю небольшое приложение, имитирующее скачки, чтобы получить некоторые базовые навыки в работе с потоками.Как заблокировать новые потоки, пока не будут созданы и запущены все потоки
Мой код содержит этот цикл:
for (int i = 0; i < numberOfHorses; i++)
{
horsesThreads[i] = new Thread(horsesTypes[i].Race);
horsesThreads[i].Start(100);
}
Для того, чтобы сохранить гонку «справедливый», я искал способ сделать все вновь созданные темы ждать, пока остальные темы не являются и только затем запустите их все, чтобы начать использовать их методы (обратите внимание, что я понимаю, что технически нити не могут запускаться в то же время)
Итак, в основном, я ищу что-то вроде этого :
for (int i = 0; i < numberOfHorses; i++)
{
horsesThreads[i] = new Thread(horsesTypes[i].Race);
}
Monitor.LaunchThreads(horsesThreads);
Вы можете использовать TPL и настроить список задач? если вы специально не хотите учиться этому? – christiandev
В новой среде .net у вас есть ключевое слово async. Word cheching для обновления ваших навыков. – lordkain
@lordkain, который, однако, не имеет ничего общего с этим сценарием. –