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:1
thread-1:3
thread-1:5
thread-1:7
thread-1:9
thread-1:11
thread-1:13
thread-1:15
thread-1:17
thread-1:19
thread-0:0
thread-0:2
thread-0:4
thread-0:6
thread-0:8
thread-0:10
thread-0:12
thread-0:14
thread-0:16
thread-0:18
這是主線程:25
這是主線程:27
這是主線程:29
這是主線程:31
這是主線程:33
這是主線程:35
這是主線程:37
這是主線程:39
匿名子類的方式
package new1;
public class demo2 }}
}.start();
new thread() }}
}.start();
}}
答案
thread-0:0
thread-0:2
thread-0:4
thread-0:6
thread-0:8
thread-0:10
thread-0:12
thread-0:14
thread-0:16
thread-0:18
thread-1:1
thread-1:3
thread-1:5
thread-1:7
thread-1:9
thread-1:11
thread-1:13
thread-1:15
thread-1:17
thread-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...