<strike id="gcwsi"></strike>
  • <ul id="gcwsi"></ul>

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:哈爾濱千鋒IT培訓  >  技術干貨  >  python線程編寫的兩種方法

    python線程編寫的兩種方法

    來源:千鋒教育
    發布人:xqq
    時間:2023-11-09 15:19:02

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

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

    python代碼

    ###thread_example.py

    importtime

    importthread

    deftimer(no,interval):#自己寫的線程函數

    whileTrue:

    print'Thread:(%d)Time:%s'%(no,time.ctime())

    time.sleep(interval)

    deftest():#使用thread.start_new_thread()來產生2個新的線程

    thread.start_new_thread(timer,(1,1))

    thread.start_new_thread(timer,(2,3))

    if__name__=='__main__':

    test()

    這個是thread.start_new_thread(function,args[,kwargs])函數原型,其中function參數是你將要調用的線程函數;args是講傳遞給你的線程函數的參數,他必須是個tuple類型;而kwargs是可選的參數。

    線程的結束一般依靠線程函數的自然結束;也可以在線程函數中調用thread.exit(),他拋出SystemExitexception,達到退出線程的目的。

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

    python代碼

    importthreading

    importtime

    classtimer(threading.Thread):#我的timer類繼承自threading.Thread類

    def__init__(self,no,interval):

    #在我重寫__init__方法的時候要記得調用基類的__init__方法

    threading.Thread.__init__(self)

    self.no=no

    self.interval=interval

    defrun(self):#重寫run()方法,把自己的線程函數的代碼放到這里

    whileTrue:

    print'ThreadObject(%d),Time:%s'%(self.no,time.ctime())

    time.sleep(self.interval)

    deftest():

    threadone=timer(1,1)#產生2個線程對象

    threadtwo=timer(2,3)

    threadone.start()#通過調用線程對象的.start()方法來激活線程

    threadtwo.start()

    if__name__=='__main__':

    test()

    其實thread和threading的模塊中還包含了其他的很多關于多線程編程的東西,例如鎖、定時器、獲得激活線程列表等等。

    以上內容為大家介紹了python中的反斜杠,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.mobiletrain.org/

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    猜你喜歡LIKE

    python函數中的參數有哪些?

    2023-11-14

    python中pygal模塊如何使用?

    2023-11-14

    Python描述符中有哪三種方法?

    2023-11-14

    最新文章NEW

    如何使用python any()判斷多元素?

    2023-11-14

    python中doctest庫是什么?

    2023-11-14

    python模塊引入的三種方式

    2023-11-14

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>