新聞中心
java中終止程序的執(zhí)行?
在java程序中,可以使用java.lang.System的exit方法來(lái)終止程序的執(zhí)行,但是使用exit方法的本質(zhì)是終止了JVM的運(yùn)行,如果同時(shí)運(yùn)行了另外一個(gè)程序,使用exit方法同樣也會(huì)使該程序也終止,要避免此種情況可以使用interrupt()來(lái)中斷退出一個(gè)獨(dú)立運(yùn)行的過程。

蘭坪網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
對(duì)于多線程程序,必須要關(guān)閉各個(gè)非守護(hù)線程。只有在程序非正常退出時(shí),才使用exit方法退出程序。
正在終止線程是什么意思?
線程終止后,其生命周期結(jié)束了,即進(jìn)入死亡態(tài),終止后的線程不能再被調(diào)度執(zhí)行,以下幾種情況,線程進(jìn)入終止?fàn)顟B(tài):1) 線程執(zhí)行完其run()方法后,會(huì)自然終止。2) 通過調(diào)用線程的實(shí)例方法stop()來(lái)終止線程。
可以通過Thread 中的isAlive() 方法來(lái)獲取線程是否處于活動(dòng)狀態(tài);線程由start() 方法啟動(dòng)后,直到其被終止之間的任何時(shí)刻,都處于'Alive'狀態(tài)。
如何確保main()方法所在的線程是Java程序最后結(jié)束的線程?
要實(shí)現(xiàn)這個(gè)情況,必須知道以下幾點(diǎn)
1、java中線程的結(jié)束是由run方法運(yùn)行完成后自動(dòng)結(jié)束的
2、在main線程(主線程)中,需要得到所有線程的引用。
3、知道jdk提供的CountDownLatch的用法
例子如下:
public static void main(String[] args) throws InterruptedException
{
//CountDownLatch作為計(jì)數(shù)器紀(jì)錄有幾個(gè)線程,例如有2個(gè)線程
CountDownLatch latch=new CountDownLatch(2);
Worker worker1=new Worker( latch);
AfxBeginThread()創(chuàng)建線程以后,怎么來(lái)結(jié)束線程?
是線程自己結(jié)束自己還是外部調(diào)用來(lái)結(jié)束這個(gè)線程?
如果你的線程是從CWinThread繼承出來(lái)的,結(jié)束自己就用AfxEndThread,外部調(diào)用的話可以用PostThreadMessage(m_nThreadID, WM_QUIT,0,0);給這個(gè)線程發(fā)送消息,線程就會(huì)結(jié)束的,其中的m_nThreadID是線程ID。
到此,以上就是小編對(duì)于java線程終止的方法有哪些的問題就介紹到這了,希望這4點(diǎn)解答對(duì)大家有用。
新聞名稱:java線程終止的方法有哪些
文章鏈接:http://www.5511xx.com/article/dpjcdis.html


咨詢
建站咨詢
