多執行緒Tread中的常用方法

2022-07-10 04:48:09 字數 3682 閱讀 3003

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 }}

}

sleep
package 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...