Хмм а вот в perl tk наблюдаются ужасные проблемы при использовании
ithreads. Например:
my $text = $mw->Text(....);
threads->new(
sub {
my $wtf = <$sock>;
$text->Insert($wtf);
}
Что-нибудь в таком ключе (shared не нужен потому как $text референция. Проблемы таковы что выкидываются ужасные ворнинги и ерроры и иногда вся
радость виснет и не обновляется Text.
Где-то вычитал что perl tk + threads не очень хорошая идея и если уже
то стоит запустить трэды в начале перед кодом Tk. К сожалению не
провел эксперимента а заменил трэд на select и проблему решил
(клепается упражнение для школы, поэтому забил на то что проблемы с
чтением строки из сокета приводит к блокировке гуя.
Но все-таки чисто из интереса - как такие вещи делаются в perl tk?
Именно так то есть асинхроничным чтением откуда-то по кусочку?
Видел примеры в которых долгий код через какой-то промежуток
времени прерывался и делал DoOneEvent(), то есть проблемы с
вишением где-то на файле или сокете или чем-то в этом роде
так и решаются - асинхронично?
Или таки есть иные способы писать неблокирующееся гуи для таких
случаев в perl tk?
Хмм а вот видел Tcl/Tk клиент для ICQ (alicq.sf.net), к сожалению
беглый просмотр его скриптов не дал ответа на вопрос, надо
разбираться долго и муторно, из кода сразу не видно как это
сделано. В Tcl/Tk есть трэды? Из кода не понял. Может быть
кто-нибудь ориентируется в вопросе?
Ответ на:
комментарий
от anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Perl Tk Threads ПРОБЛЕМС! (2005)
- Форум TCL/Tk + threads (2008)
- Форум Perl+Tk (2007)
- Форум Perl/Tk (2002)
- Форум perl tk (2006)
- Форум Perl/Tk (2004)
- Форум Perl/Tk (2002)
- Форум Perl + threads (2011)
- Форум Perl + threads (2006)
- Форум Tcl/Tk и threads (2010)