join:
當(dāng)A線程執(zhí)行到了B線程的.join()方法時(shí),A就會(huì)等待。等B線程都執(zhí)行完,A才會(huì)執(zhí)行。
join可以用來(lái)臨時(shí)加入線程執(zhí)行。
1、線程使用join方法,主線程就停下,等它執(zhí)行完,那么如果該線程凍結(jié)了,主線程就掛了,這也是為什么線程要拋異常的原因
2、當(dāng)兩個(gè)或以上線程開啟了,這個(gè)A線程才使用join方法,那么主線程還是停下,這幾個(gè)個(gè)線程交替進(jìn)行,直到A執(zhí)行完,主線程才復(fù)活
1. tostring(),方法,獲取線程具體的名字,優(yōu)先級(jí)
2. 優(yōu)先級(jí)代表?yè)屬Y源的頻率
3. java中設(shè)置有1 - 5 - 10這三個(gè)級(jí)別,因?yàn)槭枪潭ㄖ担杂米帜复髮懕硎?/p>
4. 跟設(shè)置后臺(tái)線程一樣,都屬于線程的函數(shù),由線程對(duì)象直接調(diào)用 r.setPriority(Thread.字母級(jí)別)
5. 匿名內(nèi)部類?是多線程的關(guān)鍵,必須掌握
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
class Demo implements Runnable { public void run() { for ( int x= 0 ; x< 70 ; x++) { System.out.println(Thread.currentThread().toString()+ "....." +x); Thread.yield(); } } } class JoinDemo { public static void main(String[] args) throws Exception { Demo d = new Demo(); Thread t1 = new Thread(d); Thread t2 = new Thread(d); t1.start(); //t1.setPriority(Thread.MAX_PRIORITY); t2.start(); //t1.join(); for ( int x= 0 ; x< 80 ; x++) { //System.out.println("main....."+x); } System.out.println( "over" ); } } |
以上這篇淺談java多線程 join方法以及優(yōu)先級(jí)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。