Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Tkx и threads 
:(
    Опции темы
alezzz
Дата 9.11.2011, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



Приделываю гуи к одной программе, без гуя все работало примерно так:
Код

    my @threads;
    while ($cont =~ m# чего-нибудь ">#g){
        my $p = $1;
        push @threads, threads->create(\&getfirm, $p);
    }
    foreach my $thread (@threads){
        $thread->join();
    }

sub getfirm{
    my $page = shift;

   обработка и просто выход из саба
}


На Tkx программа умирает и появляется ошибка (с предлождение отправить отчет) еще перед циклом, вызывающим $thread->join();, хотя я не пойму почему, если все правильно понимаю то create не запускает сами нити.
Переделал на:
Код

while ($cont =~ m#  ...   #g){
            my $p = $1;
            threads->new(\&getfirm, $p);
        }

но тут проблема:
Код

Perl exited with active threads:
    0 running and unjoined
    10 finished and unjoined
    0 running and detached

я так понял что мои нити повисли, хотя функция в них работающая обрабатывает все до конца. Пробовал по всякому: kill, exit, detach -- безрезультатно, обычно основная программа завершается видимо вместе с завершением дочернего процесса (если внутри функции для threads) либо ошибкой виндовс (да, кстати, это под виндовс) если вне функции.

как правильно завершить threads запущеный через threads->new?
PM MAIL   Вверх
alezzz
Дата 9.11.2011, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



на perlmonks накнулся на статью, где пишут что threads нужно запускать до Tkx::MainLoop();

и как теперь быть?
PM MAIL   Вверх
alezzz
Дата 9.11.2011, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



тему можно закрыть, отладка принтами вывела на место в коде, которое к threads отношения не имеет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: GUI | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.