public
class
createthreaddemo};
thread.
start()
;//2.實現runable介面
thread thread1 =
newthread
(new
runnable()
}); thread1.
start()
;//3.實現callable介面
executorservice service = executors.
newsinglethreadexecutor()
; future
future = service.
submit
(new
callable()
});try
catch
(interruptedexception e)
catch
(executionexception e)
}}
注釋:
作用:執行緒間互動的一種方式,表示乙個執行中的執行緒是否被其他執行緒進行了中斷操作
詳情見上篇部落格
作用:執行緒間協作的一種方式,表示該執行緒會等待某執行緒執行完才會執行,通常進行執行緒同步
比如:threada呼叫threadb.join(),threada會等待threadb執行完之後才會執行,也就是threadb先執行
public
class
joindemo
}static
class
jointhread
extends
thread
@override
public
void
run(
)catch
(interruptedexception e)}}
}
開啟10個執行緒,每個執行緒都會等待前乙個執行緒執行完畢才會繼續執行
public static native void sleep(long millis)
作用:表示當前按照指定時間進行休眠,交出cpu資源,但不會釋放鎖
特點有二:1. sleep方法達到休眠時間後就立刻進入同步佇列
2. sleep讓出的cpu資源其他執行緒都可以競爭
daemonthread.setdaemon(true);
public
class
daemondemo
catch
(interruptedexception e)
finally}}
}); daemonthread.
setdaemon
(true);
daemonthread.
start()
;//確保main執行緒結束前能給daemonthread能夠分到時間片
trycatch
(interruptedexception e)
}}
i am alive finally block i am alive
守護執行緒退出時並不會執行finally中的** 執行緒的基本概念 執行緒的基本狀態以及狀態之間的關係
乙個程式中可以有多條執行線索同時執行,乙個執行緒就是程式中的一條執行線索,每個執行緒上都關聯有要執行的 即可以有多段程式 同時執行,每個程式至少都有乙個執行緒,即main方法執行的那個執行緒。如果只是乙個cpu,它怎麼能夠同時執行多段程式呢?這是從巨集觀上來看的,cpu一會執行a線索,一會執行b線索...
執行緒的基本概念 執行緒的基本狀態以及狀態之間的關係
乙個執行緒是程序的乙個順序執行流,同類的多個執行緒共享一塊記憶體空間和一組系統資源,執行緒本身有乙個供程式執行時的堆疊。執行緒在切換時負荷小,因此,執行緒也被稱為輕負擔程序,乙個程序可以包含多個執行緒。1 新建狀態 new 新建立了乙個執行緒物件。2 就緒狀態 runnable 執行緒物件建立後,其...
執行緒的基本概念 執行緒的基本狀態以及狀態之間的關係?
執行緒 乙個程式中可以有多條執行線索同時執行,乙個執行緒就是程式中的一條執行線索,每個執行緒上都關聯有要執行的 即可以有多段 同時執行,每個程式至少有乙個執行緒,即main方法執行的執行緒。基本狀態 就緒 執行 阻塞 掛起 結束,wait 必須在同步 塊中使用。關係 呼叫執行緒的start 方法後使...