我在 TCL 中使用多线程。我正在使用线程扩展创建一个线程。然后我向线程发送一些命令。我还在各种文件中使用用户定义的一些程序。我的问题:如何使主线程中的全局变量可用于子线程,而不作为参数传递或使用线程共享变量?
我不知道这些变量中有多少,因此想将它们全部导入
我尝试查找环境共享,但我得到的唯一参考是环境变量已经共享。我需要整个系统可供子线程使用。
关于图书馆,我可以简单地获取它们。
示例代码
global var1
thread::create {
source <library files >(has dummyProc definition)
<execute some statements>
}
thread::send "dummyProc arg1 arg2...argN" result
我的问题:dummyProc 使用主线程中可用的变量(例如 var1),而不使用 TSV 或将它们作为参数传递,因为会有一整套这些全局变量。