BAI度 內部資料!Python_Threads多線程
阿新 • • 發佈:2017-05-22
enume run rlock ads -i div enumerate 資料 名稱 基本介紹
runable運行sleeping等待dead銷毀(run方法執行完成或執行時拋出異常)
類繼承threading.Thread線程的狀態
函數介紹
在__init__裏調用threading.Thread.__init__(self,name=threadname)threadname為線程名字,這樣就實現了一個空線程
重寫run()方法:需要做的事情getName()獲得線程對象名稱setName()設置線程對象名稱start()啟動線程join(t)等待另某一線程結束後再運行,參數t為可選,單位為秒,為等待時間setDaemon(bool)子線程是否隨主線程一起結束,必須在start()之前調用,默認為False.True:子線程隨主線程一起結束False:子線程不隨主線程一起結束currentThread()獲取當前正在運行的線程的引用enumerate()獲取當前所有活動對象的一個列表activeCount()獲取一個線程對象的狀態,1表示runnable wendinyule.cn dazhonyule.cn
多線程同步
wait()線程釋放鎖,進入blocked狀態notify()喚醒blocked狀態的線程notifyAll()喚醒所有的blocked狀態的線程保證每一個wait()方法調用都有一個相對應的notify()調用,也可以調用notifyAll()方法以防萬一acquire()獲取鎖方法,進入locked狀態,其他進程試圖獲得這個鎖將變為blocked狀態release()釋放鎖方法,進入unlocked狀態修改共享數據代碼放置在acquire()和release()之間鎖:threading.RLock“條件變量”threading.Condition
demo
普通demo
BAI度 內部資料!Python_Threads多線程