Python/Tkinter:Tkinter的StringVar(IntVar等)线程安全吗?
Tkinter中的StringVar(还有IntVar、FloatVar等)是否线程安全?也就是说,后台线程能否直接读取或写入这些对象?还是说我必须使用队列(Queue)来在后台线程和主Tkinter GUI线程之间传递信息,然后让主Tkinter线程从队列中取出数据,更新应用程序的StringVar?
我知道我的应用程序的后台线程不能直接读取或写入Tkinter的控件,但我不太清楚StringVar(或者类似的对象)是否算作控件,或者它们是否与控件有足够的距离,因此可以让后台线程安全地读取和写入。
1 个回答
0
绝对建议使用队列的方式。因为在Tkinter中,没有任何东西是为线程安全而设计的 :(