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

了解Python多線程的創(chuàng)建程序

開發(fā) 后端
這篇文章是關(guān)于Python多線程創(chuàng)建的方法的介紹,以及如何創(chuàng)建胡說創(chuàng)建鎖,如果你想模擬一個(gè)多線程序關(guān)于公交地鐵卡的交車費(fèi)的多線程程序,你可以借鑒我們的文章。

Python多線程在程序設(shè)計(jì)中自由重要的地位,在服務(wù)器deamon程序方面更為重要,但是不論在那種系統(tǒng),Python多線程調(diào)度的開銷比其他要開的很多。如果你想在此方面有更好的了解,你可以瀏覽以下的這篇文章。希望你有所收獲。

Python可以方便地支持多線程??梢钥焖賱?chuàng)建線程、互斥鎖、信號(hào)量等等元素,支持線程讀寫同步互斥。美中不足的是,Python多線程的運(yùn)行在Python虛擬機(jī)上,創(chuàng)建的多線程可能是虛擬的線程,需要由Python虛擬機(jī)來輪詢調(diào)度,這大大降低了Python多線程的可用性。希望高版本的Python可以解決這個(gè)問題,發(fā)揮多CPU的***效率。網(wǎng)上有些朋友說要獲得真正多CPU的好處,有兩種方法:
1.可以創(chuàng)建多個(gè)進(jìn)程而不是線程,進(jìn)程數(shù)和cpu一樣多。
2.使用Jython 或 IronPython,可以得到真正的多線程。

閑話少說,下面看看Python如何建立線程

Python線程創(chuàng)建

需要關(guān)注threading.Thread.join(th)
或者th.join()

 如果你可以對(duì)要處理的數(shù)據(jù)進(jìn)

  1. class Thread( group=Nonetarget=Nonename=Noneargs=(),
     
    kwargs={})   
  2.  

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

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

 ***,模擬一個(gè)公交地鐵IC卡繳車費(fèi)的多線程程序,有10個(gè)讀卡器,每個(gè)讀卡器收費(fèi)器每次扣除用戶一塊錢進(jìn)入總賬中,每讀卡器每天一共被刷10000000次。賬戶原有100塊。所以***的總賬應(yīng)該為10000100。先不使用互斥鎖來進(jìn)行鎖定(注釋掉了鎖定代碼),看看后果如何即可。

  1. g_mutex = threading.Lock()   
  2. ....   
  3. 使用鎖   
  4. for ... :   
  5. #鎖定,從下一句代碼到釋放前互斥訪問   
  6. g_mutex.acquire()   
  7. a_account.deposite(1)   
  8. #釋放   
  9. g_mutex.release()  

以上就是對(duì)Python多線程的相關(guān)介紹。

【編輯推薦】

  1. python程序調(diào)試與c/c++的相關(guān)功能對(duì)比我國IPTV研究目全球領(lǐng)先
  2. python程序調(diào)試與c/c++的相關(guān)功能對(duì)比
  3. python程序調(diào)試與c/c++的相關(guān)功能對(duì)比
  4. Python日志需要我們不斷的學(xué)習(xí)
  5. python程序調(diào)試與c/c++的相關(guān)功能對(duì)比
責(zé)任編輯:佚名
相關(guān)推薦

2010-02-01 17:18:23

Python多線程環(huán)境

2023-06-06 08:17:52

多線程編程Thread類

2010-03-15 17:56:23

Java多線程

2011-06-16 10:38:13

Qt多線程編程

2012-06-20 14:07:28

多線程架構(gòu)單線程

2009-06-29 18:00:05

Java多線程Runnable接口創(chuàng)建線程

2009-06-29 17:54:10

Java多線程Thread類創(chuàng)建線程

2021-02-25 15:58:46

C++線程編程開發(fā)技術(shù)

2010-03-18 16:02:09

python 多線程

2024-04-10 09:47:59

Java調(diào)度虛擬線程

2010-09-17 09:08:49

Java多線程

2023-10-06 23:06:01

多線程Python

2010-02-01 17:25:09

Python多線程

2009-08-12 13:22:44

Singleton模式

2009-02-10 09:53:41

多線程程序設(shè)計(jì)Java

2010-03-10 18:32:45

Python多線程

2010-03-15 19:47:30

Java多線程程序

2009-06-08 20:16:15

Eclipse客戶端多線程

2018-05-30 16:55:47

阿里Java多線程

2011-06-22 14:30:44

QT 多線程 線程
點(diǎn)贊
收藏

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