第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

假如用以下這個的話,start() 前面的大括號} 就總是有錯誤?為什么?

假如用以下這個的話,start() 前面的大括號} 就總是有錯誤?為什么?

比如執(zhí)行一系列的語句,想在某個語句執(zhí)行之前 程序暫停0.5秒。(比如繪圖時就可做出動畫效果)請問因該是用什么函數(shù)?但是不想用這個Sleep,這樣中途會無法終止程序,只能在Windows里強(qiáng)制結(jié)束.new Thread(new Runnable() {public void run() {while(true) {repaint();Thread.sleep(500);}}}.start();
查看完整描述

3 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗 獲得超7個贊

JAVA中使用延遲主要有以下兩種方法:
1、使用Timer類
Timer類的schedule方法可以按照時間計劃執(zhí)行程序。
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask timerTask = new MyTimerTask();
timer.schedule(timerTask, 10000, 10000);
}
schedule方法中需要傳入一個TimerTask類型的對象,該對象需要繼承并實(shí)現(xiàn)TimerTask類的run方法,或者以匿名內(nèi)部類的方式實(shí)現(xiàn)run方法。schedule的第二個參數(shù)為程序第一次執(zhí)行run方法的延時時間,第三個參數(shù)為執(zhí)行完第一次run方法后延時循環(huán)執(zhí)行run方法的時間。例如,上面的程序就是延時10s執(zhí)行timerTask的run方法,執(zhí)行完畢之后每隔10s執(zhí)行一次run方法。
實(shí)現(xiàn)了run方法后就會根據(jù)schedule設(shè)置的時間計劃來執(zhí)行。schedule的參數(shù)也可以不要循環(huán)時間,只延時執(zhí)行一次,還有多種重載的schedule方法,可以根據(jù)實(shí)際情況使用。
2、使用Thread
Thread.currentThread().sleep(10000);
使線程暫停一段時間。

查看完整回答
反對 回復(fù) 2022-05-23
?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

Java中主要有兩種方法來實(shí)現(xiàn)延遲,即:Thread和Timer
1、普通延時用Thread.sleep(int)方法,這很簡單。它將當(dāng)前線程掛起指定的毫秒數(shù)。如
try
{
Thread.currentThread().sleep(1000);//毫秒
}
catch(Exception e){}
在這里需要解釋一下線程沉睡的時間。sleep()方法并不能夠讓程序"嚴(yán)格"的沉睡指定的時間。例如當(dāng)使用5000作為sleep()方法的參數(shù)時,線 程可能在實(shí)際被掛起5000.001毫秒后才會繼續(xù)運(yùn)行。當(dāng)然,對于一般的應(yīng)用程序來說,sleep()方法對時間控制的精度足夠了。

2、但是如果要使用精確延時,最好使用Timer類:
Timer timer=new Timer();//實(shí)例化Timer類
timer.schedule(new TimerTask(){
public void run(){
System.out.println("退出");
this.cancel();}},500);//五百毫秒
這種延時比sleep精確。上述延時方法只運(yùn)行一次,如果需要運(yùn)行多次, 使用timer.schedule(new MyTask(), 1000, 2000); 則每間隔2秒執(zhí)行MyTask()



查看完整回答
反對 回復(fù) 2022-05-23
?
喵喵時光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗 獲得超7個贊

用Thread就不會iu無法終止
new Thread(new Runnable() {
public void run() {
while(true) {
repaint();
Thread.sleep(500);
}
}
}.start();

或者用現(xiàn)成的
javax.swing.Timer timer = new javax.swing.Timer(500, new ActionListener() {
public void actionPerformed(ActionEvent e) {
repaint();
}
};

timer.start();



查看完整回答
反對 回復(fù) 2022-05-23
  • 3 回答
  • 0 關(guān)注
  • 328 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號