成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

兩種Python線程編程方式簡介

開發 后端
本文詳細介紹Python線程編程的相關文章,因為目前大部分的腳本都不能提供如VC++那樣方便的調試環境,希望大家能夠學習介紹。

由于Python線程編程的DEMO太多,此處無法上傳,所以大家有communitysever的可以從里面獲得然后反編譯為自己所用,沒有的就到網絡上搜下吧,有許多資源呢,僅供大家學習思考。

Python線程編程中如果要使用線程的話,python的lib中提供了兩種方式。一種是函數式,一種是用類來包裝的線程對象。舉兩個簡單的例子希望起到拋磚引玉的作用,關于多線程編程的其他知識例如互斥、信號量、臨界區等請參考Python線程編程的文檔及相關資料。

1、調用thread模塊中的start_new_thread()函數來產生新的線程,請看代碼:

  1. # thread_example.py   
  2. import time   
  3. import thread   
  4. def timer(no,interval): #自己寫的線程函數   
  5.       while True:   
  6.             print 'Thread :(%d) Time:%s'%(no,time.ctime()) time.sleep(interval)   
  7.  
  8.  
  9. def test(): #使用thread.start_new_thread()來產生2個新的線程     
  10.       thread.start_new_thread(timer,(1,1))  
  11.       thread.start_new_thread(timer,(2,3))   
  12.  
  13.  
  14. if __name__=='__main__':   
  15.       test()  

這個是thread.start_new_thread(function,args[,kwargs])函數原型,其中function參數是你將要調用的線程函數;args是講傳遞給你的線程函數的參數,他必須是個tuple類型;而kwargs是可選的參數,線程的結束一般依靠線程函數的自然結束;也可以在線程函數中調用thread.exit(),他拋出SystemExit exception,達到退出線程的目的。

2、通過調用threading模塊繼承threading.Thread類來包裝一個線程對象。請看代碼:

  1. import threading    
  2. import time    
  3. class timer(threading.Thread):     #我的timer類繼承自threading.Thread類     
  4.     def __init__(self,no,interval):     
  5.         #在我重寫__init__方法的時候要記得調用基類的__init__方法     
  6.         threading.Thread.__init__(self)          
  7.         self.no=no     
  8.         self.interval=interval     
  9.              
  10.     def run(self):  #重寫run()方法,把自己的線程函數的代碼放到這里     
  11.         while True:     
  12.             print 'Thread Object (%d), Time:%s'%(self.no,time.ctime())     
  13.             time.sleep(self.interval)     
  14.                  
  15. def test():     
  16.      threadone=timer(1,1)    #產生2個線程對象     
  17.      threadtwo=timer(2,3)     
  18.      threadone.start()   #通過調用線程對象的.start()方法來激活線程     
  19.      threadtwo.start()     
  20.          
  21. if __name__=='__main__':     
  22.      test()   

其實thread和threading的模塊中還包含了其他的很多關于多線程編程的東西,例如鎖、定時器、獲得激活線程列表等等,請大家仔細參考Python線程編程的文檔!

【編輯推薦】

  1. 如何使Python嵌入C++應用程序?
  2. 深入探討Ruby與Python語法比較
  3. Python學習資料介紹分享
  4. Python學習經驗談:版本、IDE選擇及編碼解決方案
  5. 淺析Python的GIL和線程安全
責任編輯:chenqingxiang 來源: 計世網
相關推薦

2011-07-01 17:50:13

Python 多線程

2010-07-14 10:30:26

Perl多線程

2011-03-03 10:26:04

Pureftpd

2010-04-28 16:23:18

Oracle數據庫

2010-07-13 14:54:15

Perl面向對象編程

2010-09-07 11:09:59

2025-01-14 00:00:00

場景線程數據

2009-06-25 13:43:00

Buffalo AJA

2010-10-21 16:24:18

sql server升

2021-05-27 10:57:01

TCP定時器網絡協議

2010-08-06 09:38:11

Flex讀取XML

2023-03-29 13:06:36

2009-06-23 18:18:13

SpringHibernate

2010-04-20 15:32:20

主控負載均衡

2010-03-18 10:18:52

python模塊

2010-03-11 14:34:47

Python環境

2010-07-27 15:03:37

Flex ArrayC

2024-09-20 11:32:28

.NET內存管理

2010-05-10 18:19:00

負載平衡技術

2010-09-07 09:18:16

DIV彈出窗口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩日一区二区 | 亚洲激情在线观看 | 国产欧美日韩二区 | 国产午夜三级一区二区三 | 成人免费视频观看 | av在线亚洲天堂 | 日韩www | 久久久www成人免费精品 | 欧美日韩亚 | 亚洲激情专区 | 色偷偷888欧美精品久久久 | 成人免费精品视频 | 久久综合久色欧美综合狠狠 | www.成人久久 | 中国毛片免费 | 午夜av一区二区 | 在线一区 | 国产一级视频免费播放 | 青青久视频 | 久久久久久久久久久久91 | 国产999精品久久久久久 | 精品一二区 | 国产成人免费视频网站视频社区 | 91香蕉视频在线观看 | 欧美一区二区三区视频在线 | 国产黄色大片在线免费观看 | 国产三级一区二区三区 | 日韩在线一区二区三区 | 国产色婷婷精品综合在线手机播放 | 午夜色播 | 欧洲视频一区二区 | 欧美日韩国产精品激情在线播放 | 在线成人一区 | 国产在线一区二区三区 | 黄色国产视频 | 夜夜夜夜草 | 色久影院| 天天操天天射综合网 | www国产亚洲精品久久网站 | 亚洲国产片 | 精品久久久久久久久久久久久久 |