等待執行緒死亡
join
方法假設有三個執行緒,分別是執行緒a,執行緒b,和執行緒c他們各自的任務分別是列印數字
一、數字2和數字三,
這三個執行緒同時啟動,如何讓這三個執行緒按順序執行任務,也就是按順序列印123,
如果想讓多個執行緒按順序執行,可以使用thread類裡面的join方法,它的作用是等待該執行緒死亡,死亡的意思是run方法執行結束,無論是順利執行完畢,還是中途被中斷,都算是死亡。如果被等待的執行緒被中斷,將會引發執行緒中段異常。
下面來演示該方法,也是該方法需要用到三個任務,第乙個任務是列印數字一,
第二個任務是列印數字二。不過我們需要在第二個任務裡面執行第乙個任務的執行緒的join方法,等待第乙個任務的執行緒死亡,然後再執行列印數字二。所以我們需要在任務裡面定乙個thread屬性。記錄第乙個任務的執行緒。接著我們定義設定執行緒的方法,再接著執行緒的join方法,等待該執行緒的死亡。
join方法有異常丟擲,使用try---catch將其捕獲。
第三個任務和第二個任務,除了類名和輸出的內容不一樣以外,其餘的都一樣,至此三個任務都已全部編寫完成。
最後我們來總結一下本節的內容,本節介紹了執行緒thread類裡面的join方法,它的作用是等待該執行緒死亡,在實際開發中偶爾也會用到它。
附錄:筆記完整文字:
Selenium 10 等待操作
等待操作 為了保證指令碼的穩定性,有時候需要引入等待時間,等待頁面載入元素後再進行操作,selenium提供三種等待時間設定方式。三種等待時間設定方式 1 固定等待 sleep 固定休眠時間設定,python的time包裡提供了休眠方法sleep,匯入包後就能使用 sleep 方法以秒為單位,如果超...
windows多執行緒(二) 等待執行緒返回
多執行緒程式設計中,有時我們需要等待某一線程完成了特定的操作後再繼續做其他事情,要實現這個目的,可以使用windows api函式waitforsingleobject,或者waitformultipleobjects。這兩個函式都會等待object被標為有訊號 signaled 時才返回。只要是w...
Linux 執行緒 二 (等待與分離)
執行緒等待 為什麼需要執行緒等待?1.已經退出的執行緒,其空間沒有被釋放,仍然在程序的位址空間內 2.建立新的執行緒不會復用剛才退出的執行緒位址空間 我們知道程序內至少有乙個執行緒作為執行單位,當我們程序退出了,意味著我們的執行緒也退出了。但是程序內有多個執行緒時,我們只想結束掉其中的某乙個執行緒時...