Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 05.04.2008
Сообщений: 48
1

Как узнать закончил ли поток работу?

24.11.2008, 00:44. Просмотров 2538. Ответов 2
Метки нет (Все метки)

Для создания потоков использую ThreadPool.QueueUserWorkItem

Как узнать когда, потоки закончат работу, к результату не привязать поскольку он динамический и может меняться.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2008, 00:44
Ответы с готовыми решениями:

Как уведомить первый поток о том, что второй закончил свою работу
Добрый день. Проблема такая. Есть 2 класса. Первый MyLogic - отвечает за логику приложения,...

Как сделать, чтобы один поток не закончил работу, пока второй работает?
Подскажите, есть например 2 потока, которые ну например отсчитывают в цикле до 100. Как сделать...

Как определить закончил ли работу поток?
Здравствуйте, как определить закончил ли работу поток? begin Potok1 :=...

Как в VBA узнать когда процесс закончил работу?
Как в VBA узнать когда процесс закончил работу? И существует работа с процессами в VBA

2
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
24.11.2008, 14:05 2
Нужен пример кода. Мне не совсем понятно что тебе нужно.
0
0 / 0 / 1
Регистрация: 05.04.2008
Сообщений: 48
25.11.2008, 22:19  [ТС] 3
Лучший ответ Сообщение было отмечено softrix как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
List<String> list = new List<String>();
//array_url  - массив стрингов, типа url
   for (int i = 0; i < array_url.Length; i++)
       list.Add(s[i]);
   foreach (Sites s in list)
       ThreadPool.QueueUserWorkItem(Go, s);
 
        public void Go(object s)
        {
     
            lock (workerLocker)
            {
                runningWorkers--;
                updateFrmText(v, runningWorker, (String)s); //Метод с invoke для listview
                runningWorker++;
                Monitor.Pulse(workerLocker);
            }
        }
Вот так вот загружаю в пул массив url, а затем в Go() выполняю загрузку данных с url
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2008, 22:19

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как программно узнать закончил ли ZIP свою работу ?
Тот класс переделал, только не могу понять как всётаки получить ответ что ZIP закончил свою работу...

Как узнать прекратил поток работу или нет?
Здравствуйте все! Можно ли как то узнать работает в данный момент функция Execute потока TThread...

Как узнать, что клиет закончил отсылать пакеты?
Забиндил локалхост, посылаю на него пакеты последовательно одной секцией sequence number, после...

Как узнать что WinSock закончил загрузку файла?
Здравствуйте! Наверняка, все кто начинали работать с winsock спрашивали о том-же, что и я сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.