1、new:thread t = new thread(),執行緒物件一旦建立就進入到新生狀態
2、當呼叫start()方法,執行緒立即進入就緒狀態,但不意味著立即排程執行
3、排程,進入執行狀態,執行緒才真正執行執行緒體的**塊
4、dead,執行緒中斷或者結束,一旦進入死亡狀態,就不能再次啟動
5、阻塞狀態,當呼叫sleep、wait或同步鎖定時,執行緒進入阻塞狀態,就是**不往下執行,阻塞事件解除後,重新進入就緒狀態,等待cpu的排程
setpriority
(int newpriority) #更改執行緒的優先順序
static
void
sleep
(long millis) #在指定的毫秒數內讓當前正在執行的執行緒休眠
void
join
() #等待該執行緒終止
static
void
yield
() ##暫停當前正在執行的執行緒物件,並執行其他執行緒
void
interrupt
() #中斷執行緒,別用這個方法
boolean
isalive
() #測試執行緒是否處於活動狀態
不推薦使用jdk提供的stop()、destroy()方法
建議使用乙個標誌位進行終止變數當flag=false,則終止執行緒執行
package com.faq.stop;
//測試停止執行緒
//建議執行緒正常停止---->利用次數,不建議死迴圈
//建議使用標誌位---->設定乙個標誌位
//不要使用stop或者destroy等過時或者jdk不建議的方法
public
class
teststop
implements
runnable
}//設定乙個公開的方法停止執行緒,轉換標誌位
public
void
stop()
public
static
void
main
(string[
] args)}}
}輸出:
main898
main899
main900
run...
.thread625
run...
.thread626
執行緒該停止了
main901
main902
main903
主程式繼續跑完,執行緒停止
多執行緒 執行緒的停止
thread類中stop方法停止執行緒存在安全隱患,怎麼讓乙個執行緒停止執行呢?執行緒的執行一般都是迴圈控制體,通過改變run方法 迴圈控制條件,即可讓執行緒停止。class threadstopdemo system.out.println thread.currentthread getname...
Java多執行緒3 停止執行緒
關於執行緒的停止,主要有兩種,一種是自然停止,即執行緒體正常執行完畢。還有一種則是外部干涉,我們主要講的是外部干涉。其實也比較簡單 外部干涉 1 執行緒類中定義執行緒體使用的標識,如boolean型 2 執行緒體中使用該標識 3 提供對外的方法改變該標識 4 外部根據條件呼叫該標識 我們還是用例子來...
多執行緒 執行緒的停止 執行緒的延遲
執行緒的停止 最好是用標誌位的轉換來停止執行緒 例 三個模組 執行緒 執行緒停止方法 主方法 主方法執行到一定條件 呼叫 執行緒停止方法 執行緒停止執行 主方法繼續執行 package lesson thread public class thread stop implements runnabl...