【发布时间】:2017-09-06 12:07:22
【问题描述】:
需要在 tcl (windows) 中进行并行处理的解决方案。
我尝试了线程,仍然无法获得所需的输出。
为了简化我的要求,我举一个简单的例子如下。 要求: 我想在不影响我当前执行流程的情况下运行 notepad.exe。从主线程控制应该转到被调用线程,启动notepad.exe并返回主线程而不关闭记事本。
尝试过:(Tcl 脚本)
包需要线程
设置 10
proc test_thread {b} {
puts "in procedure $b"
set tid [thread::create] ;# Create a thread
return $tid
}
放置“主线程”
放置 [thread::id]
设置 ttid [test_thread $a]
thread::send $ttid {exec c:/windows/system32/notepad.exe &}
把“结束”
获取输出: 运行记事本而不显示任何日志。 关闭记事本应用程序时,我得到以下输出。
主线程
tid0000000000001214
在程序 10 中
结束
期望的输出: 主线程
tid0000000000001214
在程序 10 中
---->> 控制应该转到线程并运行notepad.exe而不影响主线程流。
所以请帮助解决这个问题,如果除了线程概念之外还有其他问题,请告诉我。
【问题讨论】:
标签: multithreading tcl