![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Необходимо создавать некоторое количество нитей, и по некоторому условию останавливать их выполнение, то есть нужен процесс контролирующий созданные потоки. Посмотрите на код :
Можно ли использовать такой подход ? Это сообщение отредактировал(а) nIkTo - 2.6.2010, 21:15 |
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
1. threads->list всегда ..returns a list of all non-joined, non-detached threads..
2. sending a signal to a thread does not disrupt the operation the thread is currently working on Эти ограничения могут не устроить. Ну и 3. Если условие для $flag - внутренее, лучше использовать cond_wait/семафоры, а не sleep 3 Это сообщение отредактировал(а) DurRandir - 2.6.2010, 21:52 |
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
DurRandir, спасибо за ответ.
1. Да, это исправил так :
2. Про сигналы, действительно нити дальше висят, тогда вопрос как убить эти нити ? 3. По нажатию кнопки стоп (в веб интерфейсе) производится запись статуса в конфигурационный файл. Из этого файла и нужно считывать состояние например раз в минуту и скидывать туда процесс выполнения задания, и если состояние изменится на stop то прибить созданные треды сохранить конечные данные и выйти. А вот какое это условие внутреннее или ещё какое я не знаю как характеризовать. Поэтому подскажите использование какого подхода будет более уместно в данном случае: ond_wait/семафоры или sleep ? Это сообщение отредактировал(а) nIkTo - 3.6.2010, 16:10 |
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
2. AFAIK - никак. Перловые треды - зло
3. Ну тут скорее всего без поллинга не обойтись. Хотя можно прикрутить inotify/kqueue, чтобы получать события и сразу на них реагировать. |
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Как на ваш взгляд такая модель имеет право на существование ? Укажите на её недостатки.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |