自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python線程鎖如何完成模塊建設(shè)

開(kāi)發(fā) 后端
Python線程鎖是在編程中經(jīng)常接觸到東西,在不斷的使用中我們需要不斷的學(xué)習(xí)相關(guān)的技術(shù)知識(shí)。下面就詳細(xì)的介紹有關(guān)知識(shí)。

Python線程鎖需要我們不斷的學(xué)習(xí)相關(guān)技術(shù),其實(shí)在有些時(shí)候我們?cè)诓粩嗟膶W(xué)習(xí)中也能尋找出問(wèn)題解決的方案。多線程是程序設(shè)計(jì)中的一個(gè)重要方面,尤其是在服務(wù)器Deamon程序方面。無(wú)論何種系統(tǒng),線程調(diào)度的開(kāi)銷(xiāo)都比傳統(tǒng)的進(jìn)程要快得多。

Python可以方便地支持多線程。可以快速創(chuàng)建線程、互斥鎖、信號(hào)量等等元素,支持線程讀寫(xiě)同步互斥。美中不足的是,Python的運(yùn)行在Python虛擬機(jī)上,創(chuàng)建的多線程可能是虛擬的線程,需要由Python虛擬機(jī)來(lái)輪詢調(diào)度,這大大降低了Python多線程的可用性。希望高版本的Python可以解決這個(gè)問(wèn)題,發(fā)揮多CPU的***效率。
網(wǎng)上有些朋友說(shuō)要獲得真正多CPU的好處,有兩種方法:

1.可以創(chuàng)建多個(gè)進(jìn)程而不是線程,進(jìn)程數(shù)和cpu一樣多。

2.使用Jython 或 IronPython,可以得到真正的多線程。

Python線程鎖創(chuàng)建

使用threading模塊的 Thread類(lèi),類(lèi)接口如下

 

  1. class Thread( group=Nonetarget=Nonename=None
    args=(), kwargs={}) 

需要關(guān)注的參數(shù)是target和args. target 是需要子線程運(yùn)行的目標(biāo)函數(shù),args是函數(shù)的參數(shù),以tuple的形式傳遞。
以下代碼創(chuàng)建一個(gè)指向函數(shù)worker 的子線程

  1. def worker(a_tid,a_account):  
  2. ...  
  3. th = threading.Thread(target=worker,args=(i,acc) ) ; 

 

啟動(dòng)Python線程鎖

  1. th.start() 

等待線程返回threading.Thread.join(th)或者th.join()

如果你可以對(duì)要處理的數(shù)據(jù)進(jìn)行很好的劃分,而且線程之間無(wú)須通信,那么你可以使用:創(chuàng)建=》運(yùn)行=》回收的方式編寫(xiě)你的多線程程序。但是如果線程之間需要訪問(wèn)共同的對(duì)象,則需要引入互斥鎖或者信號(hào)量對(duì)資源進(jìn)行互斥訪問(wèn)。

下面講講如何創(chuàng)建互斥鎖,創(chuàng)建鎖

  1. g_mutex = threading.Lock()  
  2. .... 

使用Python線程鎖

  1. for ... :  
  2. #鎖定,從下一句代碼到釋放前互斥訪問(wèn)  
  3. g_mutex.acquire()  
  4. a_account.deposite(1)  
  5. #釋放  
  6. g_mutex.release() 

以上就是對(duì)Python線程鎖的系統(tǒng)介紹希望大家有所收獲。

【編輯推薦】

  1. 簡(jiǎn)介Python程序的校園網(wǎng)的認(rèn)證方法
  2. python svn腳本如何進(jìn)行文件刪除
  3. Python數(shù)據(jù)編組對(duì)文字串的讀寫(xiě)
  4. Python 拼寫(xiě)檢查如何更簡(jiǎn)單的使用
  5. Python匹配如何才能完成匹配細(xì)節(jié)
責(zé)任編輯:張浩 來(lái)源: IT168
相關(guān)推薦

2019-04-12 15:14:44

Python線程

2020-08-26 08:59:58

Linux線程互斥鎖

2024-10-29 15:23:45

Python線程安全

2010-03-16 14:20:57

Java多線程調(diào)試

2009-12-17 15:28:32

內(nèi)核模塊編譯

2014-06-10 11:12:13

控管平臺(tái)數(shù)據(jù)

2010-03-12 18:45:24

Python匹配

2021-07-14 07:30:51

網(wǎng)絡(luò)建設(shè)互聯(lián)網(wǎng)骨干網(wǎng)絡(luò)

2015-07-01 14:30:50

數(shù)據(jù)中心機(jī)房

2010-03-16 17:39:36

Java多線程鎖

2014-06-03 13:07:49

彈性光網(wǎng)絡(luò)

2011-06-23 10:27:04

飛魚(yú)星上網(wǎng)行為管理

2017-05-31 14:03:07

Java多線程內(nèi)置鎖與顯示鎖

2017-05-08 11:46:15

Java多線程

2018-10-25 15:55:44

Java多線程鎖優(yōu)化

2024-08-28 08:50:11

MySQL核心模塊

2012-03-28 14:06:43

軟件系統(tǒng)系統(tǒng)測(cè)試

2021-11-03 17:40:51

Python線程

2009-05-06 10:14:21

中國(guó)聯(lián)通WCDMA網(wǎng)絡(luò)優(yōu)化

2010-02-01 17:18:23

Python多線程環(huán)境
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)