java thread join 原始碼解析

2021-07-16 06:47:59 字數 714 閱讀 9051

public

static

void

main(string args) catch (exception e)

}

上述是main函式**,啟動了乙個自定義的執行緒httpthreadmultiurl,具體行為我們不需要關注,可以是一段操作或者是乙個迴圈或是睡眠一段。

join方法則會使得main thread阻塞,等待join返回,這個join實際是等hackweb執行緒的run方法結束才返回的。

public

final

void

join() throws interruptedexception

呼叫了帶有引數的join

public

final

synchronized

void

join(long millis)

throws interruptedexception

if (millis == 0)

} else

wait(delay);

now = system.currenttimemillis() - base;}}

}

上面我們說了join會等待執行緒結束再返回,這裡通過wait不斷等待,並通過isalive去查詢狀態,這兩個函式是native的函式。

官方源 映象源彙總

網易 http 阿里雲 http 上海交通大學 http ftp.sjtu.edu.cn html resources.xml 部分移動運營商出口狀況不佳,無法訪問 華中科技大學 http mirror.hust.edu.cn 當前已用容量估計 4.83t 清華大學 http mirrors.tun...

官方源 映象源彙總

網易 阿里雲 上海交通大學 部分移動運營商出口狀況不佳,無法訪問 華中科技大學 當前已用容量估計 4.83t 清華大學 當前已用容量估計 9.8t 北京理工大學 蘭州大學 中國科技大學 當前已用容量估計 21.32t 大連東軟資訊學院 當前已用容量估計 2.5t 東北大學 大連理工大學 哈爾濱工業大...

官方源 映象源彙總

網易 阿里雲 上海交通大學 部分移動運營商出口狀況不佳,無法訪問 華中科技大學 當前已用容量估計 4.83t 清華大學 當前已用容量估計 9.8t 北京理工大學 蘭州大學 中國科技大學 當前已用容量估計 21.32t 大連東軟資訊學院 當前已用容量估計 2.5t 東北大學 大連理工大學 哈爾濱工業大...