Java中怎么實(shí)現(xiàn)join線程操作,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供阿里地區(qū)網(wǎng)站建設(shè)、阿里地區(qū)做網(wǎng)站、阿里地區(qū)網(wǎng)站設(shè)計(jì)、阿里地區(qū)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、阿里地區(qū)企業(yè)網(wǎng)站模板建站服務(wù),10余年阿里地區(qū)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
一 點(diǎn)睛
Tread提供了讓一個(gè)線程等待另外一個(gè)線程完成的方法——join()方法。當(dāng)在某個(gè)程序執(zhí)行流中調(diào)用其他線程的join()方法時(shí),調(diào)用線程將被阻塞,直到被join()方法加入的join線程執(zhí)行完后為止。
join()方法通常由使用線程的程序調(diào)用,以將大問(wèn)題劃分成許多小問(wèn)題,每個(gè)小問(wèn)題分配一個(gè)線程。當(dāng)所有小問(wèn)題都得到處理后,再調(diào)用主線程來(lái)進(jìn)一步操作。
二 代碼
public class JoinThread extends Thread{ // 提供一個(gè)有參數(shù)的構(gòu)造器,用于設(shè)置該線程的名字 public JoinThread(String name) { super(name); } // 重寫run()方法,定義線程執(zhí)行體 public void run() { for (int i = 0; i < 100 ; i++ ) { System.out.println(getName() + " " + i); } } public static void main(String[] args)throws Exception { // 啟動(dòng)子線程 new JoinThread("新線程").start(); for (int i = 0; i < 100 ; i++ ) { if (i == 20) { JoinThread jt = new JoinThread("被Join的線程"); jt.start(); // main線程調(diào)用了jt線程的join()方法,main線程 // 必須等jt執(zhí)行結(jié)束才會(huì)向下執(zhí)行 jt.join(); } System.out.println(Thread.currentThread().getName() + " " + i); } }}
三 運(yùn)行結(jié)果
main 0main 1main 2main 3main 4main 5main 6新線程 0......新線程 11新線程 12新線程 13main 7main 8......main 16main 17新線程 14main 18main 19新線程 15新線程 16......新線程 31被Join的線程 0新線程 32被Join的線程 1新線程 33被Join的線程 2新線程 34被Join的線程 3新線程 35新線程 36新線程 37新線程 38新線程 39被Join的線程 4被Join的線程 5......被Join的線程 13被Join的線程 14新線程 40被Join的線程 15被Join的線程 16被Join的線程 17新線程 41新線程 42被Join的線程 18被Join的線程 19......被Join的線程 38被Join的線程 39新線程 43新線程 44新線程 45被Join的線程 40被Join的線程 41被Join的線程 42被Join的線程 43新線程 46新線程 47新線程 48......新線程 60新線程 61被Join的線程 44......被Join的線程 98被Join的線程 99新線程 62新線程 63......新線程 98新線程 99main 20main 21main 22main 23
四 說(shuō)明
1 程序開始是mian線程和新線程并發(fā)執(zhí)行。
2 當(dāng)i為20時(shí),main線程開始等待“被Join的線程”執(zhí)行完成,此時(shí)“被Join的線程”和“新線程”并發(fā)執(zhí)行。
3 當(dāng)“被Join的線程”執(zhí)行完成,main線程繼續(xù)運(yùn)行,此時(shí)“main”和“新線程”并發(fā)執(zhí)行。
看完上述內(nèi)容,你們掌握J(rèn)ava中怎么實(shí)現(xiàn)join線程操作的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁(yè)標(biāo)題:Java中怎么實(shí)現(xiàn)join線程操作
文章位置:http://m.kartarina.com/article20/jedhjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)建站、面包屑導(dǎo)航、網(wǎng)站營(yíng)銷、域名注冊(cè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)