在工作過程中中,將內(nèi)容過程中經(jīng)常用的內(nèi)容片段珍藏起來,下面內(nèi)容段是關(guān)于python threading超線程使用簡單范例的內(nèi)容,希望能對(duì)小伙伴們有較大幫助。
堅(jiān)守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都衛(wèi)生間隔斷小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
# encoding: UTF-8
import threading
# 方法1:將要執(zhí)行的方法作為參數(shù)傳給Thread的構(gòu)造方法
def func():
print 'func() passed to Thread'
t = threading.Thread(target=func)
t.start()
# 方法2:從Thread繼承,并重寫run()
class MyThread(threading.Thread):
def run(self):
print 'MyThread extended from Thread'
t = MyThread()
t.start()
構(gòu)造方法:Thread(group=None,target=None,name=None,args=(),kwargs={})group:線程組,目前還沒有實(shí)現(xiàn),庫引用中提示必須是None;target:要執(zhí)行的方法;name:線程名;args/kwargs:要傳入方法的參數(shù)。實(shí)例方法:isAlive():返回線程是否在運(yùn)行。正在運(yùn)行指啟動(dòng)后、終止前。get/setName(name):獲取/設(shè)置線程名。is/setDaemon(bool):獲取/設(shè)置是否守護(hù)線程。初始值從創(chuàng)建該線程的線程繼承。當(dāng)沒有非守護(hù)線程仍在運(yùn)行時(shí),程序?qū)⒔K止。start():啟動(dòng)線程。join([timeout]):阻塞當(dāng)前上下文環(huán)境的線程,直到調(diào)用此方法的線程終止或到達(dá)指定的timeout(可選參數(shù))。一個(gè)使用join()的例子:
# encoding: UTF-8
import threading
import time
def context(tJoin):
print 'in threadContext.'
tJoin.start()
# 將阻塞tContext直到threadJoin終止。
tJoin.join()
# tJoin終止后繼續(xù)執(zhí)行。
print 'out threadContext.'
def join():
print 'in threadJoin.'
time.sleep(1)
print 'out threadJoin.'
tJoin = threading.Thread(target=join)
tContext = threading.Thread(target=context, args=(tJoin,))
tContext.start()
運(yùn)行結(jié)果:
in threadContext.
in threadJoin.
out threadJoin.
out threadContext.