Мне нужно иметь двухстороннюю связь между потоками в Tcl, и все, что я могу получить, - это один из способов передачи параметров в качестве моего единственного канала связи master-> helper. Вот что у меня есть:TCL: Двухсторонняя связь между потоками в Windows
proc ExecProgram { command } {
if { [catch {open "| $command" RDWR} fd ] } {
#
# Failed, return error indication
#
error "$fd"
}
}
Для вызова tclsh83, например ExecProgram «tclsh83 testCases.tcl TestCase_01»
Внутри файла testCases.tcl я могу использовать, который прошел в информации. Например:
set myTestCase [lindex $argv 0]
В testCases.tcl может тушит к трубе:
puts "$myTestCase"
flush stdout
И получает, что ставит в главном потоке, используя идентификатор процесса:
gets $app line
... внутри цикла.
Это не очень хорошо. И не в двух направлениях.
Кто-нибудь знает простой способ двусторонней связи для tcl в Windows между двумя потоками?
Отлично! Он работает так же, как вы сказали. – Fraser 2008-11-07 01:42:24