1.join()方法
字面意思就是:讓某個執行緒join(參加、加入)進來。
即讓加入的那個執行緒執行,而當前正在執行的執行緒(呼叫的執行緒)阻塞,直到加入的執行緒執行完成。
一句話:誰join進來就執行誰。
沒有使用join時的情況:
package threaddemo;
public class firstthread extends thread
}/**
* @param args
*/public static void main(string args) }}
}
輸出:
main
0main
1main
2main
3main
4main
5main
6main
7main
8main
9main
10thread-0
0main
11thread-0
1main
12thread-0
2main
13thread-0
3main
14thread-0
4main
15thread-0
5main
16main
17thread-0
6main
18thread-0
7main
19thread-0
8thread-0
9thread-0
10thread-0
11thread-0
12thread-0
13thread-0
14thread-0
15thread-0
16thread-0
17thread-0
18thread-0
19 使用join後的情況:
package threaddemo;
public class firstthread extends thread
}/**
* @param args
*/public static void main(string args) catch (interruptedexception e) }}
}}
輸出:
main
0main
1main
2main
3main
4main
5thread-0
0thread-0
1thread-0
2thread-0
3thread-0
4thread-0
5thread-0
6thread-0
7thread-0
8thread-0
9thread-0
10thread-0
11thread-0
12thread-0
13thread-0
14thread-0
15thread-0
16thread-0
17thread-0
18thread-0
19main
6main
7main
8main
9main
10main
11main
12main
13main
14main
15main
16main
17main
18main 19
2.sleep()方法
字面意思:讓執行緒睡眠,即暫停不執行。
讓當前正在執行的執行緒暫停一段時間,並進入阻塞狀態。
在睡眠時間內,即使有cpu可以使用,也不會執行。
try catch (interruptedexception e)
3.yield()方法
字面意思:讓當前執行緒放棄執行。
讓當前正在執行的執行緒暫停,但它不會阻塞該執行緒,只是將該執行緒轉入就緒狀態。
系統的執行緒排程器重新排程一次,有可能執行緒排程器重新排程該執行緒。
只有優先順序與當前執行緒相同或是更高的處於就緒狀態的執行緒才會獲得執行機會。
4.setdeamon
()方法
設定為後台執行緒(守護執行緒)。
JDK HashMap幾個有意思的問題
hashmap的hash演算法 hash原始碼如下 做了什麼?為啥這麼做?hash碰撞怎麼做 hash衝突 鍊錶 紅黑樹 如果元素的key的hash值相同,則使用乙個鍊錶來存放。鍊錶查詢乙個元素的時間複雜度為 o n 鍊錶到達一定長度 8 則使用紅黑樹,紅黑樹尋找乙個元素的時間的時間複雜度為o lo...
幾個有意思的面試題
1,abcdx9 dcba 因為9乘a不進製所以a只能是1 9乘d得個位是1所以d只能是9 同樣9乘b也不能進製只有1和0,1已屬a所以b只能是0 9乘9進8要想第二位為0,乘9的個位上必須是2,c就只有8了 所以abcd 1089 2,一艘輪船從甲港順水航行到乙港,立即逆水返回甲港。共用8小時。已...
分享幾個有意思的API介面
介面1 圖靈機械人 使用方式在請求行的open方法中的url裡填入api位址 在請求主體的send裡面填入key就行了 f50a3f0fa09d42f8b2b3161421a73e05 第二個鍵值對是你要傳送過去的內容,注意一定要用info,圖靈機械人那邊的介面規定要用info 介面2 asilu....