在我的 C++ 代码中,如果我为每个线程创建一个 tcl interp,并将其用于 Tcl_EvalEx 脚本,并通过 Tcl_GetStringResult 获取结果,那么这个线程是否安全?
除了 const 数据之外,这些线程之间没有共享数据。
在谷歌上搜索后,我在 tcl 线程模型文档中找到了这个: http ://www.tcl.tk/doc/howto/thread_model.html
Tcl 允许您在每个操作系统线程中拥有一个或多个 Tcl 解释器(例如,使用 Tcl_CreateInterp() 创建)。但是,每个解释器都紧密地绑定到它的操作系统线程,如果你让多个线程调用同一个解释器(例如,使用 Tcl_Eval),就会发生错误。
我想这意味着如果我不在口译员之间共享数据,那么应该没有问题吗?