首先能確定你的代碼沒有問題,其中有一個警告是你的sleep沒有以靜態方式調用;
10年積累的成都網站設計、成都做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有宜興免費網站建設讓你可以放心的選擇與我們合作。
this是指當前類的一個對象,你的mythread類中根本就沒有sleep方法,談何調用勒;
用t來調用不是出現錯誤,而是一個警告
the static method sleep(long) from the type thread should be accessed in a static way并提供了兩種fix方法。
一個靜態方法需要以一個靜態方式去訪問調用,如果你使用該類型的一個實例去調用,也是可以的,不過這就違背了設計靜態關鍵字的意愿了,靜態方法或變量是先于類構造之前就存在了。
R r=new R(); 沒有必要,等于每個R對象運行時就會產生一個新的R對象,好在你沒讓它運行起來。否則內存遞推很快就滿了。
talentwei8899說的對,直接使用Thread.CurrentThread.sleep(1000);
休眠的是當前線程。
若想讓進程休眠時間不同,休眠的時間可取個隨機數。
1、java多線程調用同步方法時主程序或者后臺服務Service程序兩者必須有一個正在運行著,定時任務才會執行。
2、自動執行的任務可以設置開啟或關閉定時,檢查任務的這一開關處于開啟狀態。
3、源目錄在定時的時間點如果沒有變化,任務執行后不會留下日志,通過查看任務的最后執行時間確定任務到底執行了沒有。
4、執行失敗和沒有執行不是同一回事,如果是執行失敗則要分析失敗原因。這是java多線程調用同步方法時,休眠后代碼執行不到的原因。
import?java.util.Scanner;
public?class?ThreadTest?{
Scanner?sc=new?Scanner(System.in);
int?a=0;
public?static?void?main(String[]?args)?{
new?ThreadTest().show();
}
private?void?show()?{
System.out.println("請輸入太上老君生日是哪一天?");
new?Thread()?{
public?void?run()?{
a=sc.nextInt();
}
}.start();
new?Thread()?{
public?void?run()?{
for(int?i=0;i5;)?{
try?{
Thread.sleep(1000);
System.out.println(++i);
}?catch?(InterruptedException?e)?{
e.printStackTrace();
}
}
if(a!=-9000)?{
System.out.println("太渣了!");
}else?{
System.out.println("還行!");
}
System.out.println("要不要在玩一把??Y/N?來決定!");
sc=new?Scanner(System.in);
if(sc.nextLine().equals("y"))?{
show();
}else?{
return;
}
}
}.start();
}
}
文章標題:java線程休眠代碼,java多線程休眠
網站路徑:http://m.kartarina.com/article40/hddiho.html
成都網站建設公司_創新互聯,為您提供電子商務、網頁設計公司、網站內鏈、網站設計、用戶體驗、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯