Java之Thread的join方法實(shí)例
本文實(shí)例講述了Java之Thread的join方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
join
public final void join()
throws InterruptedException等待該線(xiàn)程終止。
拋出:
InterruptedException - 如果任何線(xiàn)程中斷了當(dāng)前線(xiàn)程。當(dāng)拋出該異常時(shí),當(dāng)前線(xiàn)程的中斷狀態(tài) 被清除。
下面的例子 通俗的講,就是A調(diào)用join方法后,只有等A所在的線(xiàn)程不再運(yùn)行,才會(huì)將進(jìn)程分配出去
public static void main(String [] args) throws Exception{
ThreadTest5 t = new ThreadTest5();
Thread A = new Thread(t);
Thread B = new Thread(t);
A.start();
A.join(); //此處A調(diào)用 Thread的join方法,主函數(shù)將線(xiàn)程分配給A,當(dāng)A運(yùn)行完畢后,才會(huì)將線(xiàn)程釋放出去。給其他的對(duì)象。
B.start();
for (int i = 1;i < 20;i++)
{
System.out.println("樹(shù)上掉蘋(píng)果"+ i);
}
System.out.println("蘋(píng)果沒(méi)了");
}
}
class ThreadTest5 implements Runnable
{
public void run()
{
for (int i = 1;i < 10;i++)
{
System.out.println(Thread.currentThread().getName()+"吃蘋(píng)果"+(i));
}
}
}
運(yùn)行結(jié)果為:
Thread-0吃蘋(píng)果1
Thread-0吃蘋(píng)果2
Thread-0吃蘋(píng)果3
Thread-0吃蘋(píng)果4
Thread-0吃蘋(píng)果5
Thread-0吃蘋(píng)果6
Thread-0吃蘋(píng)果7
Thread-0吃蘋(píng)果8
Thread-0吃蘋(píng)果9
樹(shù)上掉蘋(píng)果1
樹(shù)上掉蘋(píng)果2
樹(shù)上掉蘋(píng)果3
樹(shù)上掉蘋(píng)果4
樹(shù)上掉蘋(píng)果5
樹(shù)上掉蘋(píng)果6
Thread-1吃蘋(píng)果1
樹(shù)上掉蘋(píng)果7
Thread-1吃蘋(píng)果2
樹(shù)上掉蘋(píng)果8
Thread-1吃蘋(píng)果3
樹(shù)上掉蘋(píng)果9
Thread-1吃蘋(píng)果4
樹(shù)上掉蘋(píng)果10
Thread-1吃蘋(píng)果5
樹(shù)上掉蘋(píng)果11
Thread-1吃蘋(píng)果6
Thread-1吃蘋(píng)果7
Thread-1吃蘋(píng)果8
Thread-1吃蘋(píng)果9
樹(shù)上掉蘋(píng)果12
樹(shù)上掉蘋(píng)果13
樹(shù)上掉蘋(píng)果14
樹(shù)上掉蘋(píng)果15
樹(shù)上掉蘋(píng)果16
樹(shù)上掉蘋(píng)果17
樹(shù)上掉蘋(píng)果18
樹(shù)上掉蘋(píng)果19
蘋(píng)果沒(méi)了
Thread-0 值得就是A所在的線(xiàn)程,當(dāng)A所在的線(xiàn)程運(yùn)行完畢后,之后的線(xiàn)程由main主函數(shù)和B進(jìn)程爭(zhēng)奪。
希望本文所述對(duì)大家的Java程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解SpringMVC重定向傳參數(shù)的實(shí)現(xiàn)
本篇文章主要介紹了詳解SpringMVC重定向傳參數(shù)的實(shí)現(xiàn),我們可以使用重定向的方式,改變?yōu)g覽器的地址欄,防止表單因?yàn)樗⑿轮貜?fù)提交。有興趣的可以了解一下。2017-01-01Java線(xiàn)程協(xié)作的兩種方式小結(jié)
Java中線(xiàn)程協(xié)作的最常見(jiàn)的兩種方式是利用Object.wait()、Object.notify()和使用Condition,本文主要介紹了Java線(xiàn)程協(xié)作的兩種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05java中thread線(xiàn)程start和run的區(qū)別
這篇文章主要介紹了java中thread線(xiàn)程start和run的區(qū)別,run()是Runnable接口中定義的一個(gè)方法,是為了讓客戶(hù)程序員在這個(gè)方法里寫(xiě)自己的功能代碼的。直接調(diào)用和普通的類(lèi)調(diào)用自己的成員方法是沒(méi)有任何區(qū)別的2014-03-03spring?IOC容器的Bean管理XML自動(dòng)裝配過(guò)程
這篇文章主要為大家介紹了spring?IOC容器Bean管理基于XML的自動(dòng)裝配過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Java中PageHelper分頁(yè)后對(duì)list操作導(dǎo)致分頁(yè)無(wú)效
在項(xiàng)目中使用分頁(yè)插件的時(shí)候發(fā)現(xiàn)PageHelper插件失效了,本文就來(lái)介紹一下Java中PageHelper分頁(yè)后對(duì)list操作導(dǎo)致分頁(yè)無(wú)效的解決方法,感興趣的可以了解一下2021-05-05詳解Java的Hibernate框架中的緩存與二級(jí)緩存
這篇文章主要介紹了Java的Hibernate框架中的緩存與二級(jí)緩存,Hibernate是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下2015-12-12