溫馨提示×

java線程控制手段有哪些

養(yǎng)魚的貓咪
204
2021-04-20 14:16:01
欄目: 編程語言

java中控制線程的手段有:1.join()方法;2.sleep()方法;3.守護線程;4.改變線程的優(yōu)先級;

java線程控制手段有哪些

java中控制線程的手段有以下幾種

1.join()方法

java中join()方法的作用是讓一個線程等待另一個線程完成,可以在通過一個線程中調(diào)用其他線程的join()方法,調(diào)用線程被阻塞,需要等待join線程執(zhí)行完畢,才可以再次調(diào)用線程。

//等待線程消亡

public final void join()

//等待線程消亡,最多等millis毫秒。

public final synchronized void join(long millis)

2.sleep()方法

java中sleep()方法的作用是使用線程進入阻塞狀態(tài),即使當前cpu閑置,線程也會進入阻塞狀態(tài)。

//讓當前線程暫停millis毫秒,并進入阻塞。

public static native void sleep(long millis)

//讓當前線程暫停millis毫秒+nanos納秒,并進入阻塞

public static void sleep(long millis, int nanos)

3.守護線程

java中守護線程是指在后臺運行的線程,其目的是為其他線程提供服務(wù),可以使用t.setDaemon(true)函數(shù)設(shè)置守護線程。

//設(shè)置為守護線程

t.setDaemon(true);

//啟動守護線程

t.start();

//主線程睡眠100毫秒

Thread.sleep(100);

for (int i = 0; i < 5; i++) {

System.out.println(Thread.currentThread().getName()+" : "+i);

}

}

4.改變線程的優(yōu)先級

java中每個線程在執(zhí)行時都具有優(yōu)先級,且默認優(yōu)先級與創(chuàng)建它的父線程的優(yōu)先級相同,默認情況下,main線程具有普通優(yōu)先級。

//線程可有的最小優(yōu)先級

public final static int MIN_PRIORITY = 1;

//默認優(yōu)先級

public final static int NORM_PRIORITY = 5;

//線程可有的最大優(yōu)先級

public final static int MAX_PRIORITY = 10;

0