Threadstart 和run 方法的區別

2021-06-26 10:10:23 字數 700 閱讀 4500

用thread類的start()方法來啟動乙個執行緒,這時此執行緒處於就緒(可執行)狀態,並沒有執行,一旦得到cpu時間片,就開始執行run()方法,這裡方法 run()稱為執行緒體,它包含了要執行的這個執行緒的內容,run方法執行結束,此執行緒隨即終止。用start是多執行緒各自執行,執行緒之間不會共享資料

run()方法只是類的乙個普通方法而已,如果直接呼叫run方法,程式中依然只有主線程這乙個執行緒,其程式執行路徑還是只有一條,還是要順序執行,還是要等待run方法體執行完畢後才可繼續執行下面的**,這樣就沒有達到寫執行緒的目的。總結:呼叫start方法方可啟動執行緒,而run方法只是thread的乙個普通方法呼叫,還是在主線程裡執行。這兩個方法應該都比較熟悉,把需要並行處理的**放在run()方法中,start()方法啟動執行緒將自動呼叫 run()方法,這是由jvm的記憶體機制規定的。並且run()方法必須是public訪問許可權,返回值型別為void.。run()方法始終是當前執行緒,因而資料可以共享

//四個執行緒共賣100張票

public class runnabletest

public static class mythread implements runnable}}

}//使用thread類模擬4個售票視窗共同賣100張火車票的程式,實際上是各賣100張

public class threadtest2

}class mythread extends thread}}

ThreadStart委託型別

1.建立threadstart委託型別物件 namespace test console.writeline thread.currentthread.name has finished static void main string args else console.read 2.thread類...

執行緒的run 和start )

1.run 執行狀態方法 run 方法 在本執行緒內呼叫該runnable物件的run 方法,可以重複多次呼叫 2.start 啟動乙個執行緒 就緒 start 方法 啟動乙個執行緒,呼叫該runnable物件的run 方法,不能多次啟動乙個執行緒 public class runtest catc...

start和run的區別

1,run方法是runnable介面中定義的,start方法是thread類定義的。所有實現runnable的介面的類都需要重寫run方法,run方法是執行緒預設要執行的方法,是繫結作業系統的,也是執行緒執行的入口。start方法是thread類的預設執行入口,thread又是實現runnable介...