LINUX.ORG.RU

TCL/Tk + threads


0

0

Вопрос собственно в следующем - как "хорошо" оно работает в реале? Дело в том, что в той поделке, которую я пишу, нужен будет именно функционал с потоками. Почитав, погуглив, понял(может неправильно?), что потоки есть, но какие-то они мутные... т.е. при работе программы, построенной на Threads могут быть проблемы(?). Если это не так, просьба развеять эти сомнения. Также, стандартые поставки Tcl/Tk(8.4) вроде идут без поддержки потоков(лишь недавно ее добавили в Debian). Ну, под Linux это дело еще рашается, пересобрать можно парой кликов. Как дело под m$? там тоже идет поддержка save-threads из коробки? Да, тежи соображения при использовании StarPack?

в Tcl/Tk по умолчанию используется механизм параллельного выполнения на собственных лёгких потоках (after/vwait/fileevent). если тебе действительно нужны системные потоки - да, нужно делать сборку с включенным флагом их поддержки

jtootf ★★★★★
()

Дистрибутивы от ActiveState под винду идут, по-моему, уже с поддержкой threads, например: ActiveTcl8.5.2.0.284846-win32-ix86-threaded.exe

anonymous
()
Ответ на: комментарий от jtootf

А как обычными средствами Tcl делать параллелизм? Скажем, когда надо запускать внешнюю программу и еще что-то делать, пока она не закончила работать.

Где посмотреть на хорошие примеры таких вещей?

anonymous
()
Ответ на: комментарий от anonymous

http://www.beedub.com/book/2nd/event.doc.html
http://www.tcl.tk/man/tcl8.4/TclCmd/vwait.htm

со внешней программой будут небольшие сложности -
комманда exec игнорирует стандартный event loop,
поэтому для параллельной работы со внешними приложениями
следует использовать bgexec:

http://wiki.tcl.tk/12704

а вообще гугли tcl event loop, tcl event-driven programming

jtootf ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.