python的線程thread筆記

來源:互聯網
上載者:User

標籤:

  python的線程是用thread和threading來實現的。其中利用threading會更好,因為thread沒有線程保護,當主線程退出了之後,子線程也會被強行退出。threading支援守護線程。

  thread中常用的方法:thread.allocate_lock() 是返回一個新的鎖定的對象

             acquire()/release()  是原始鎖的兩種狀態,鎖定和解鎖,是對上面建立的鎖定的對象進行的操作。

             thread.start_new_thread(func,(func的參數))是建立一個新的線程,其中的前兩個參數一定要填,如果函數不需要參數就傳入一個空的元組。

 

  threading的使用:

建立一個線程:

threading.Thread(target = youfunc,args = (your func‘s args))

    

start()

  開始線程活動

join()

  等待線程終止

  所有的線程都建立了之後,再一起調用 start()函數啟動,而不是建立一個啟動一個。而且,不用再管理一堆鎖(分配鎖,獲得鎖,釋放鎖,檢查鎖的狀態等),只要簡單地對每個線程調用 join()函數就可以了。

join()會等到線程結束,或者在給了 timeout 參數的時候,等到逾時為止。join()的另一個比較重要的方面是它可以完全不用調用。一旦線程啟動後,就會一直運行,直到線程的函數結束,退出為止。

 

 

 

 

摘自蟲師的部落格。

 

python的線程thread筆記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.