Я создаю мои темы, какМульти нить рабочий статус нить
for (int i = 0; i < threadCount; i++)
{
Searcher src = new Searcher(i, this);
threads[i] = new Thread(new ThreadStart(src.getIpRange));
threads[i].Name = string.Format(i.ToString());
}
foreach (Thread t in threads)
{
t.Start();
}
с THREADCOUNT (= 100, 150, 255 и т.д ...), но я не могу узнать, сколько потоков работает. во время выполнения.
и я хочу контролировать, когда все потоки завершают работу. и дать мне сообщение типа «Все потоки мертвы, рабочие задания завершены ...» like backgroundWorker's RunWorkerCompleted event
Мне трудно представить себе приложение, в котором оптимальным будет 255 одинаковых потоков. Помните, что максимальное количество потоков, которые могут работать в системе в любой момент времени = количество независимых ядер процессора в вашем целевом оборудовании. fwiw это мой опыт (Win XP SP2), что создание потока завершается после 120 в одном процессе. Это было в тестовом приложении, реализованном с одним потоком для клиента приложения на основе сокетов. Ни в коем случае я не мог бы реализовать настоящий производственный код. –
Я работаю над сетевым приложением, поэтому мои потоки проводят много времени. и я думаю, что это не перегрузка для процессора – Rapunzo