tread中常用的方法
start():啟動當前執行緒;呼叫當前執行緒的run()
run():通常需要重寫thread類中的方法,將建立的執行緒要執行的操作宣告在此方法中
currentthread():靜態方法,返回執行當前**的執行緒
getname():獲取當前執行緒的名字
setname():設定當前執行緒的名字
yield():釋放當前cpu的執行
stop():已過時。當執行此方法時,強制結束當前執行緒。
sleep(long millitime):讓當前執行緒「睡眠」指定的millitime毫秒。在指定的millitime毫秒時間內,當前執行緒是阻塞狀態。
isalive():判斷當前執行緒是否存活
package new1;
/** 多執行緒的建立,方式一:繼承thread類
* 1.建立乙個繼承於thread類的子類
* 2.重寫thread類的run()--->將此執行緒執行的操作宣告在run()中
* 3.建立thread類的子類的物件
* 4.通過此物件呼叫start()
** 例子:遍歷100以內的所有偶數
* */
//1.建立乙個繼承於thread類的子類
class
mythread1
extends
thread}}
}class
mythread2
extends
thread}}
}public
class
demo1}}
}
結果
這是主線程:21
這是主線程:23
thread-1:
1thread-1:
3thread-1:
5thread-1:
7thread-1:
9thread-1:
11thread-1:
13thread-1:
15thread-1:
17thread-1:
19thread-0:
0thread-0:
2thread-0:
4thread-0:
6thread-0:
8thread-0:
10thread-0:
12thread-0:
14thread-0:
16thread-0:
18這是主線程:25
這是主線程:27
這是主線程:29
這是主線程:31
這是主線程:33
這是主線程:35
這是主線程:37
這是主線程:39
匿名子類的方式
package new1;
public
class
demo2}}
}.start()
;new
thread()
}}}.
start()
;}}
答案
thread-0:
0thread-0:
2thread-0:
4thread-0:
6thread-0:
8thread-0:
10thread-0:
12thread-0:
14thread-0:
16thread-0:
18thread-1:
1thread-1:
3thread-1:
5thread-1:
7thread-1:
9thread-1:
11thread-1:
13thread-1:
15thread-1:
17thread-1:
19
命名,獲取名,與currentthread()package new1;
public
class
demo2}}
}class
mythread3
extends
thread}}
}
答案
主線程:
1執行緒一:
0執行緒一:
2執行緒一:
4執行緒一:
6執行緒一:
8執行緒一:
10執行緒一:
12執行緒一:
14執行緒一:
16執行緒一:
18主線程:
3主線程:
5主線程:
7主線程:
9主線程:
11主線程:
13主線程:
15主線程:
17主線程:
19
另一種命名方式(利用thread類中的構造方法命名)package new1;
public
class
demo2}}
}class
mythread3
extends
thread}}
public
mythread3
(string name)
}
答案
執行緒一一:
0執行緒一一:
2執行緒一一:
4主線程:
1執行緒一一:
6主線程:
3主線程:
5執行緒一一:
8主線程:
7主線程:
9主線程:
11主線程:
13主線程:
15主線程:
17主線程:
19執行緒一一:
10執行緒一一:
12執行緒一一:
14執行緒一一:
16執行緒一一:
18
yield方法package new1;
public
class
demo2}}
}class
mythread3
extends
thread
if(i%4==
0)}}
public
mythread3
(string name)
}
答案
主線程:
1執行緒一一:
0主線程:
3執行緒一一:
2主線程:
5執行緒一一:
4主線程:
7主線程:
9主線程:
11主線程:
13主線程:
15主線程:
17主線程:
19執行緒一一:
6執行緒一一:
8執行緒一一:
10執行緒一一:
12執行緒一一:
14執行緒一一:
16執行緒一一:
18
join方法
package new1;
public
class
demo2
if( i==1)
catch
(interruptedexception e)}}
}}class
mythread3
extends
thread}}
}
sleeppackage new1;
public
class
demo2}}
}class
mythread3
extends
thread
catch
(interruptedexception e)
system.out.
println
(thread.
currentthread()
.getname()
+":"
+i);}}
}}
多執行緒Tread中的常用方法
tread中常用的方法 start 啟動當前執行緒 呼叫當前執行緒的run run 通常需要重寫thread類中的方法,將建立的執行緒要執行的操作宣告在此方法中 currentthread 靜態方法,返回執行當前 的執行緒 getname 獲取當前執行緒的名字 setname 設定當前執行緒的名字 ...
常用多執行緒方法
reentrantlock類 synchronized關鍵字,屬於悲觀鎖。可重入鎖,即遞迴鎖。指在同一執行緒內,外層函式獲得鎖之後,內層遞迴函式仍然可以獲得該鎖。作用 防止在同一執行緒中多次獲取鎖而導致死鎖發生。j a.util.concurrent.atomic包下的atomicreference...
多執行緒常用方法介紹
可以返回 正在被那個執行緒呼叫的資訊 public class threadtest extends thread public static void main string args 執行結果 main方法是由乙個叫main的執行緒呼叫的 run方法是由乙個thrad 0方法呼叫的 isaliv...