Хмм а вот в 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 (2002)
- Форум Perl/Tk (2002)
- Форум Perl/Tk (2004)
- Форум Perl+Tk (2007)
- Форум perl tk (2006)
- Форум Perl + threads (2011)
- Форум Perl + threads (2006)
- Форум Tcl/Tk и threads (2010)