您好,登錄后才能下訂單哦!
Python中Library如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1. Thread
我們可以選擇繼承 Thread 來實現自己的線程類,或者直接像 C# Thread 那樣傳個函數進去。
from threading import * def t(a, b): print currentThread().name, a, b Thread(ttarget = t, args = (1, 2)).start()
輸出:
$ ./main.py Thread-1 1 2
Python Library要實現自己的線程類,可以重寫 __init__() 和 run() 就行了。不過一旦我們定義了 run(),我們傳進去的 target 就不會自動執行了。
class MyThread(Thread): def __init__(self, name, x): Thread.__init__(self, namename=name) self.x = x def run(self): print currentThread().name, self.x MyThread("My", 1234).start()
輸出:
$ ./main.py My 1234
Thread 有個重要的屬性 daemon,和 .NET Thread.IsBackground 是一個意思,一旦設置為 Daemon Thread,就表示是個 "后臺線程"。
def test(): for i in range(10): print currentThread().name, i sleep(1) t = Thread(target = test) #t.daemon = True t.start() print "main over!"
輸出:
$ ./main.py
非 Daemon 效果,Python Library進程等待所有前臺線程退出。
Thread-1 0 main over! Thread-1 1 Thread-1 2 Thread-1 3 Thread-1 4 Thread-1 5 Thread-1 6 Thread-1 7 Thread-1 8 Thread-1 9 $ ./main.py # IsDaemon
進程不等待后臺線程。
Thread-1 0 main over!
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。