成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

多任務(wù)---線程threading使用總結(jié)。

張巨偉 / 3654人閱讀

摘要:資源競爭互斥鎖解決多線程可以共享全局變量,同時操作全局變量,可能會出現(xiàn)資源競爭的問題??梢杂迷O(shè)置等待時間來避免線程的常用應(yīng)用多任務(wù)聊天器,或者多個同時執(zhí)行多線程是假的多任務(wù)。所以多線程比單線程性能上是有提升的,因?yàn)橛龅阶枞麜詣俞尫诺摹?/p>

線程

定義:一個程序運(yùn)行起來之后,一定有個負(fù)責(zé)執(zhí)行代碼的東西,這個東西就叫線程。線程占用的資源比較少,操作系統(tǒng)調(diào)度的單位。

t = threading.Thread(target=dance) 創(chuàng)建線程實(shí)例?t.start() 啟動線程,在這里會出現(xiàn)一個子線程

threading.enumerate() 打印當(dāng)前所有線程,返回一個列表【】

總結(jié):

完成多任務(wù),需要用threading模塊來創(chuàng)建多線程來實(shí)現(xiàn),還可以用繼承Thread類的形式來創(chuàng)建線程(里面必須定義run方法)。

可以查看正在運(yùn)行的線程名稱

主線程會在子線程均結(jié)束后才停止。

調(diào)用start后,會出現(xiàn)一個子線程。

資源競爭—互斥鎖解決
多線程可以共享全局變量,同時操作全局變量,可能會出現(xiàn)資源競爭的問題。
互斥鎖Lock的acquire,release可以解決資源競爭的問題。

死鎖:兩個線程互相等待對方釋放資源時,就會造成死鎖??梢杂迷O(shè)置等待時間來避免

線程的常用應(yīng)用:多任務(wù)聊天器,或者多個while true同時執(zhí)行

多線程是假的多任務(wù)。

GIL:全局解釋器鎖,每個線程在執(zhí)行的過程中均需要先獲取到GIL,保證同一時刻只有一個線程可以執(zhí)行代碼。

python和GIL鎖沒有半毛錢關(guān)系,是歷史原因cpython解釋器造成的,cpython無法移出GIL鎖

python釋放GIL的情況,在io操作時,是可以暫時釋放的,然后在執(zhí)行完畢后,必須重新獲取gil。所以多線程比單線程性能上是有提升的,因?yàn)橛龅絠o阻塞會自動釋放GIL的。

python使用多進(jìn)程是可以利用多核的cup資源。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/43577.html

相關(guān)文章

  • 線程總結(jié)

    摘要:一個進(jìn)程可以擁有多個線程,一個線程必須有一個父進(jìn)程。線程是獨(dú)立運(yùn)行的,它并不知道進(jìn)程中是否還有其他的線程存在。線程的調(diào)度和管理由進(jìn)程本身負(fù)責(zé)完成。因此多線程實(shí)現(xiàn)多任務(wù)并發(fā)比多線程的效率高。 ??一個任務(wù)通常就是一個程序,每個運(yùn)行中的程序就是一個進(jìn)程。當(dāng)一個程序運(yùn)行時,內(nèi)部可能包含了多個順序執(zhí)行流,每個順序執(zhí)行流就是一個線程。 進(jìn)程 定義: ??當(dāng)一個程序進(jìn)入內(nèi)存運(yùn)行時,即變成一個進(jìn)程。...

    justCoding 評論0 收藏0
  • 高級面試題總結(jié)線程池還能這么玩?

    摘要:線程池可以用來解決處理一個特定請求最大線程數(shù)量限制問題。安撫多歲的發(fā)發(fā)發(fā)線程池的作用線程池作用就是限制系統(tǒng)中執(zhí)行線程的數(shù)量。若隊(duì)列中沒有等待進(jìn)程,線程池的這一資源處于等待。此線程池支持定時以及周期性執(zhí)行任務(wù)的需求。 前言 面試中我們經(jīng)常會遇到多線程和線程池的問題,究竟如何回答呢?今天關(guān)于Java中的線程池,我們就來學(xué)習(xí)一下。 什么是線程池 線程池是指在初始化一個多線程應(yīng)用程序過程中創(chuàng)建...

    learning 評論0 收藏0
  • 高級面試題總結(jié)線程池還能這么玩?

    摘要:線程池可以用來解決處理一個特定請求最大線程數(shù)量限制問題。安撫多歲的發(fā)發(fā)發(fā)線程池的作用線程池作用就是限制系統(tǒng)中執(zhí)行線程的數(shù)量。若隊(duì)列中沒有等待進(jìn)程,線程池的這一資源處于等待。此線程池支持定時以及周期性執(zhí)行任務(wù)的需求。 前言 面試中我們經(jīng)常會遇到多線程和線程池的問題,究竟如何回答呢?今天關(guān)于Java中的線程池,我們就來學(xué)習(xí)一下。 什么是線程池 線程池是指在初始化一個多線程應(yīng)用程序過程中創(chuàng)建...

    dinfer 評論0 收藏0

發(fā)表評論

0條評論

張巨偉

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<