-
Actor.java:
public class Actor extends Thread {
? ?@Override
? ?public void run() {
? ? ? ?super.run();
? ? ? ?System.out.println(getName()+"是一個演員!");
? ? ? ?int count = 0;
? ? ? ?System.out.println(getName()+"登臺演出了"+ (++count) +"次!");
? ? ? ?System.out.println(getName()+"演出結束!");
? ?}
? ?public static void main(String[] args) {
? ? ? ?Thread actor = new Actor();
? ? ? ?actor.setName("Gwoniu");
? ? ? ?actor.start();
? ?}
}?
查看全部 -
隋唐演義:
?
查看全部 -
1、Java對線程的支持
????
????????????
2、線程的創建和啟動
3、線程的常用方法
4、如何停止線程
查看全部 -
線程->進程
線程:
????1、互斥
????2、同步
查看全部 -
什么時候用Thread創建線程 什么時候又用Running接口創建線程呢
由于java是單繼承的語言,所以在已經繼承了其他類又想同時實現線程操作的時候就可以實現runable接口。如下代碼所示,實現了runable接口的類(runner1是這個類的實例)在開啟新線程的時候還是需要thread來輔助的
Thread thread1 = new Thread(runner1);
?thread1.start();
查看全部 -
線程常用方法
查看全部 -
Thread
查看全部 -
死鎖-------
?
查看全部 -
Thread常用方法
查看全部 -
Thread的常用方法
查看全部 -
Thread常用方法
查看全部 -
線程常用方法
查看全部 -
thread 類
runnable接口
lang包
run方法
?
查看全部 -
stop方法已經不再使用,通過設置退出旗標進行線程的停止
查看全部 -
Concurrent
查看全部 -
Locks & Condition
查看全部 -
Java Memory Mode
查看全部 -
互斥與同步
查看全部 -
synchronized
查看全部 -
java線程中start和run方法的區別?
Start:
???? 用start方法來啟動線程,真正實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼。通過調用Thread類的 start()方法來啟動一個線程,這時此線程處于就緒(可運行)狀態,并沒有運行,一旦得到spu時間片,就開始執行run()方法,這里方法 run()稱為線程體,它包含了要執行的這個線程的內容,Run方法運行結束,此線程隨即終止。Run:
???? run()方法只是類的一個普通方法而已,如果直接調用Run方法,程序中依然只有主線程這一個線程,其程序執行路徑還是只有一條,還是要順序執行,還是要等待run方法體執行完畢后才可繼續執行下面的代碼,這樣就沒有達到寫線程的目的。總結:調用start方法方可啟動線程,而run方法只是thread的一個普通方法調用,還是在主線程里執行。
在同一時間,同一處理器或同一個核只能運行一條線程,當一條線程休眠之后,另一條線程才獲得了我們處理器的時間
2.Runnable接口之中沒有getName方法,我們可以使用Thread的靜態方法currentThreat().getName()獲取該對象的名字。
3.若實現接口通過Thread.currentThread().getName()方法獲取當前線程名稱,繼承Thread則getName()方法獲取當前線程名稱
繼承Thread和實現Runnable其區別主要在于共享數據,Runnable接口是可以共享數據的,多個Thread可以同時加載一個Runnable,當各自Thread獲得CPU時間片的時候開始運行Runnable,Runnable里面的資源被共享。
不管是繼承Thread還是實現Runnable接口我們都可以創建線程。在實際開發中大多數情況下是實現Runnable接口的,因為它可以共享數據。
查看全部 -
資源競爭.
查看全部 -
資源競爭.
查看全部 -
valatile 解決字段可見性
查看全部
舉報