日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pythontk多线程_tkinter是否线程安全(threadsafe)?

發(fā)布時間:2024/9/19 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pythontk多线程_tkinter是否线程安全(threadsafe)? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

python標準的GUI庫,tkinter,到底是不是線程安全的(threadsafe)?本文給出答案??梢赃@么說:現(xiàn)在新安裝的python,自帶的tkinter都是線程安全的,以前的不一定是!

什么是線程安全?

我們可以這么簡單的來理解,多個線程訪問時,不需要自己顯示的做線程同步,模塊自己內(nèi)部已經(jīng)做了多線程保護,這就是線程安全。比如多個線程都在想Text控件輸出內(nèi)容,如果Text控件不是線程安全,多線程就需要自己做同步,比如加鎖解鎖這樣的操作,而如果Text控件本身就是線程安全的,多線程就不需要這么麻煩了。

線程安全,也可以說成,支持線程!

關(guān)于tkinter庫是否線程安全,baidu幾乎找不到什么有用的信息,看來國人不太關(guān)心這個細節(jié)。用bing一下子就找到了問題的答案!)、(https://bugs.python.org/issue11077,看最后一個msg;https://bugs.python.org/issue33479)

tkinter模塊的基礎(chǔ)是tcl/tk,它有兩種編譯方式,支持線程或不支持線程。tkinter從8.6版本開始,默認的編譯方式就是支持線程,即線程安全。

不確定python3從哪個版本開始使用tkinter 8.6版本,我這里3.6.5已經(jīng)是了。Win系統(tǒng)還有一個判斷方法,到python的安裝路徑中,去找tcl/tk的dll文件,如果右面帶一個小t(thread),即是線程安全的。如下圖:

tcl/tk8.6線程安全版

Linux下python3,我是編譯安裝的,編譯過程沒有修改過tkinter模塊的任何參數(shù),默認應(yīng)該就是線程安全的。

查看你的python中tkinter模塊對應(yīng)的tcl/tk版本號:

>>> import tkinter

>>> tkinter.TclVersion

8.6

>>> tkinter.TkVersion

8.6

python官方也宣稱tkinter是線程安全的,https://docs.python.org/3/library/tk.html,第二段的最后一句。

-- EOF --

總結(jié)

以上是生活随笔為你收集整理的pythontk多线程_tkinter是否线程安全(threadsafe)?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。