乙個程序正在執行時至少會有1個執行緒正在執行。
public
class test
}輸出結果:
main
分析: 乙個名稱叫做main的執行緒在執行main()方法中的**。
public
class
mythread
extends
thread
}分析:通過在run方法前加入synchronized關鍵字,使多個執行緒在執行run方法時以排隊的方法進行處理。當乙個現在在呼叫run前,先判斷run方法有沒有被上鎖,如果上鎖,說明有其他執行緒正在呼叫run方法,必須等其他執行緒對run方法呼叫結束後才可以執行run方法。synchronized可以在任意物件及方法上加鎖,而加鎖的這段**稱為「互斥區」或「臨界區」。
currentthread()方法可返回該**段是正在被哪個執行緒呼叫。
package mythread;
public
class
mythread
extends
thread
@override
public
void
run()
}package run;
import mythread.mythread;
public
class
run2
}輸出結果:
構造方法的列印:main
run方法的列印:thread-0
----------
package run;
import mythread.mythread;
public
class
run2
}輸出結果:
構造方法的列印:main
run方法的列印:main
isalive()的功能判斷當前的程序是否處於活動狀態
sleep()的作用是在指定的毫秒數讓當前「正在執行的執行緒」休眠,即暫停執行。這個「正在執行的執行緒」是指this.currentthread()返回的執行緒
getid()方法的作用是取得執行緒的唯一標識
interrupt()方法停止執行緒
this.interrupted()//測試當前執行緒是否已經中斷,執行後具有將狀態標誌設定為false
this.isinterrupted()//測試執行緒是否已經中斷,執行後不清除狀態標誌
使用return停止執行緒
package extthread;
public
class
mythread
extends
thread
system.out.println("timer=" + system.currenttimemillis());}}
}package test.run;
import extthread.mythread;
public
class
run
}
yield
()方法的作用是放棄當前的cpu資源,將它讓給其他的任務占用cpu,但放棄的時間不確定。
多執行緒程式設計第一章多執行緒技能
使用方式 繼承thread 本質是實現了runnable,再加幾個方法 或者實現runnable 執行時,還得套thread的殼 幾個方法 1 isalive 2 sleep 3 currentthread 4 getid 5 suspend暫停執行緒 resume恢復執行緒 6 yield當前執行...
Java多執行緒程式設計(第一章)
實現方式 1.繼承thread類 2.實現runnable介面,作為thread建構函式的target物件 thread.currentthread 用來獲取呼叫這段 的執行緒,即正在執行中的執行緒 isalive 用來判斷當前執行緒是否處於runnable狀態,也就是處於就緒和執行中的執行緒。sl...
執行緒第一章
使用多執行緒的情況 乙個程式同時執行多個任務 單執行緒可以完成,單多執行緒效率高。併發原理 執行緒排程將時間劃分為很多時間片段,盡可能均勻分配給每乙個執行緒,獲取時間片段的執行緒將被cpu執行,其餘執行緒全部等待。微觀上是 走走停停 巨集觀上都在執行,這種現象叫 併發 執行緒排程 給執行緒分配時間片...