您好,登錄后才能下訂單哦!
Python中Library如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
1. Thread
我們可以選擇繼承 Thread 來實(shí)現(xiàn)自己的線程類,或者直接像 C# Thread 那樣傳個函數(shù)進(jìn)去。
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要實(shí)現(xiàn)自己的線程類,可以重寫 __init__() 和 run() 就行了。不過一旦我們定義了 run(),我們傳進(jìn)去的 target 就不會自動執(zhí)行了。
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 是一個意思,一旦設(shè)置為 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進(jìn)程等待所有前臺線程退出。
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
進(jìn)程不等待后臺線程。
Thread-1 0 main over!
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。