1樓:匿名使用者
我來幫你解決把。。雖然我不明白你為什麼說無法呼叫thread類的start方法。。
首先,你要理解多執行緒實現的2種方法。1.繼承thread類並覆寫run方法 2.
實現runnable介面並覆寫run方法。其中這兩種方法中在實際開發和應用中只有第二種是規範和常見的(原因是thread類也是實現了runnable介面的類,用介面可以實現更大的靈活性和避免單繼承的侷限性以及共享(這個在多執行緒中非常重要!!))
下面來實現thread類的start方法,先編寫一個實現runnable介面的類
public class runnalbedemo implements runnable
}然後再編寫另外一個類來呼叫thread類的start方法
public class thread
這樣就實現了3個執行緒的呼叫start方法。
如果還不明白可以問我,或者在eclipse裡面實驗一下
2樓:匿名使用者
如果start無法使用,應該是你前面的**寫的有問題吧?
給你貼個示例**,先對照一下:
public class treadtest}//第一個執行緒類,記得要實現父程序thread的run方法。run方法中寫出你要這個新執行緒做的事情
//一定注意,在啟動現成的時候要使用start方法,不要直接使用run方法。
class thread1 extends thread}}//這是第二個
class thread2 extends thread}}
3樓:
可以調呀,但,系統就不會給它開一個新的執行緒,,,而是在呼叫 這個方法的執行緒裡進行的,只有呼叫 run方法時,系統才會開一個新的執行緒,單獨用來執行start方法
4樓:匿名使用者
怎麼會不可以。
要麼你也可以對你的**塊
new thread.start();
j**a thread呼叫start後,一直沒有進入run方法,是什麼原因?
5樓:在晴天的雨傘
1.start()方法來啟動執行緒,真正實現了多執行緒執行,這時無需等待run方法體**執行完畢而直接繼續執行下面的**:
通過呼叫thread類的start()方法來啟動一個執行緒,這時此執行緒是處於就緒狀態,
並沒有執行。
然後通過此thread類呼叫方法run()來完成其執行操作的,這裡方法run()稱為執行緒體,
它包含了要執行的這個執行緒的內容,
run方法執行結束,
此執行緒終止,
而cpu再執行其它執行緒,
2.run()方法當作普通方法的方式呼叫,程式還是要順序執行,還是要等待run方法體執行完畢後才可繼續執行下面的**:
而如果直接用run方法,
這只是呼叫一個方法而已,
程式中依然只有主執行緒--這一個執行緒,
其程式執行路徑還是隻有一條,
這樣就沒有達到寫執行緒的目的。
舉例說明一下:
記住:執行緒就是為了更好地利用cpu,
提高程式執行速率的!
public class testthread1} }
class runner1 implements runnable } }
c# 多執行緒,threadstart()裡面的方法帶了引數就提示錯誤?
6樓:黃何百
你可以這樣處理啊,在threadstart()裡寫一個不帶引數的方法,再由該方法呼叫另一個帶引數的方法。親測可行
j**a 中,thread的run()和start()方法到底有什麼區別?把我搞糊塗了。
7樓:匿名使用者
1.start()方法來啟動執行緒,真正實現了多執行緒執行,這時無需等待run方法體**執行完畢而直接繼續執行下面的**:
通過呼叫thread類的start()方法來啟動一個執行緒,這時此執行緒是處於就緒狀態,
並沒有執行。
然後通過此thread類呼叫方法run()來完成其執行操作的,這裡方法run()稱為執行緒體,
它包含了要執行的這個執行緒的內容,
run方法執行結束,
此執行緒終止,
而cpu再執行其它執行緒,
2.run()方法當作普通方法的方式呼叫,程式還是要順序執行,還是要等待run方法體執行完畢後才可繼續執行下面的**:
而如果直接用run方法,
這只是呼叫一個方法而已,
程式中依然只有主執行緒--這一個執行緒,
其程式執行路徑還是隻有一條,
這樣就沒有達到寫執行緒的目的。
舉例說明一下:
記住:執行緒就是為了更好地利用cpu,
提高程式執行速率的!
public class testthread1} }
class runner1 implements runnable } }
8樓:匿名使用者
你要寫執行緒的話需要繼承thread 類 而run()方法就是 thread的方法 你需要對其重寫,而start()方法呢就是需要你的執行緒例項來呼叫 其作用呢就是啟動當前例項的執行緒也就是說執行run()方法 懂麼~
9樓:
run()是你執行緒執行之後執行的內容,start()是讓你寫的那個執行緒去排隊
10樓:泡麵大
呼叫thread.start()方法時,會呼叫run()方法。
11樓:文庫
run是被其他呼叫的
j**a多執行緒併發去呼叫一個類的靜態方法,有什麼問題?
為什麼有人說Python的多執行緒是雞肋
差不多是這樣子。多執行緒目前僅用於網路多執行緒採集,以及效能測試。其它的語言也有類似的情況,執行緒本身的特點導致執行緒的適用範圍是受限的。只有cpu過剩,而其它的任務很慢,此時用執行緒才是有益的,可以很好平衡等待時間,提高併發效能。執行緒的問題主要是執行緒的安全穩定性。執行緒無法強制中止,同時執行緒...
刑法問題 為什麼
溯及既往的意思就是,法律能不能用來判出臺以前的事件,原則上不可以,但是有例外,就是如果新法更輕是可以的。我打個比方,假設,2000年,隨地吐痰沒有懲罰措施,然後2005年,隨地吐痰判死刑,那麼,如果允許溯及既往,也就是說,那麼2005年之前,所有隨地吐痰的人,都要判死刑,這是非常不公平的。因為200...
ACCESS函式IF的問題為什麼10以上就不對了
是不是按字元格式比較的 你把y換成91試一下.x和y分別是什麼資料型別?如果是數字,9 10 是true 如果是字元,逐個進行asc碼比較,第一位 9 1 所以 9 10 是 false access 用if函式返回時間 首先保管期限設定成數字整型,永久則不填寫.失效時間 iif isnull 保管...