Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
ВнизКак узнать создана ли нить Найти похожие ветки
← →
KyRo (2006-11-24 12:36) [0]Подскажите как узнать создана ли нить ?
То есть поток может быть создан и работать , а может быть и не создан.
Работает это все в таймере и нужно для того что бы не создать его еще раз если он уже создан.
Suspended почему то при запуске всех потоков и их 100% завершении работы (Terminate или Suspend) Выдает на первый поток что он завершился , а на второй что нет !!!
Подскажите как лучше решить эту проблему ?
← →
Сергей М. © (2006-11-24 12:39) [1]
> поток может быть создан
Кем ? Тобой ?
← →
KyRo (2006-11-24 12:40) [2]Да мной
← →
zdm © (2006-11-24 12:40) [3]c TThread всегда одна и та же проблема-отсекать момент запуска и отслеживание времени жизни, т.е. "родил-отследил-убил"
← →
clickmaker © (2006-11-24 12:41) [4]
> [2] KyRo (24.11.06 12:40)
> Да мной
так а в чем проблема? Сам создаешь, значит знаешь момент создания
← →
KyRo (2006-11-24 12:44) [5]
> zdm © (24.11.06 12:40) [3]
> c TThread всегда одна и та же проблема-отсекать момент запуска
> и отслеживание времени жизни, т.е. "родил-отследил-убил"
Вот это мне и надо !!
У меня планировщик который запускает потоки для обработки файла сценария их работы.
В зависимости размера сценария работа потоков может быть большая и измерятся часами.
Таймер тем временем должен проверять запущены ли эти потоки и в случае если нет и есть еще задания (новые или время выполнения которых подошло)
запустить снова потоки на выполнения .
И вот я не знаю как мне проверить запущены ли эти потоки уже что бы небыло непредсказуемых ситуаций
← →
zdm © (2006-11-24 12:50) [6]В отличии от Анатолия(без обид естественно к нему) я храню ссылки. Мне в своё время помогла
http://www.delphimaster.ru/articles/panov/
← →
Сергей М. © (2006-11-24 12:52) [7]
> KyRo (24.11.06 12:40) [2]
Раз ты создал поток, значит он гарантированно существует.
Вплоть до момента его уничтожения тобой.
Заметь, что завершение потока и уничтожение потока - вещи разные.
← →
KyRo (2006-11-24 13:05) [8]
> Раз ты создал поток, значит он гарантированно существует.
>
> Вплоть до момента его уничтожения тобой.
Так вот как мне узнать что он гарантировано закончил свою работу.
Писать из потока куда нибуть о его статусе?
← →
Anatoly Podgoretsky © (2006-11-24 13:09) [9]> KyRo (24.11.2006 12:44:05) [5]
Ты меняешь постановку, теперь вопрос совсем другой
> запущены ли эти потоки
а был
> создана ли нить
← →
Anatoly Podgoretsky © (2006-11-24 13:11) [10]> zdm (24.11.2006 12:50:06) [6]
Какие обиды, если ежедневно свыше 3000 сообщений, то храни или нет, все одно не найдешь. Один только delphimaster от 1500 до 3000 сообщений ежедневно.
← →
Сергей М. © (2006-11-24 13:12) [11]
> Писать из потока куда нибуть о его статусе?
Ну зачем сразу что-то "писать" ?
У тебя есть планировщик, он создает объекты класса TThread, при этом он знает хэндлы созданных потоков. А раз знает хэндлы, то всегда может воспользоваться любой из ф-ций ожидания, например, [Msg]WaitForMultipleObjects
← →
Anatoly Podgoretsky © (2006-11-24 13:15) [12]> KyRo (24.11.2006 13:05:08) [8]
Теперь это уже третий вопрос
А есть еще состояние уничтожен.
Может ты все таки сформулируешь вопрос?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c