java如何動態(tài)執(zhí)行while循環(huán)
問題描述
public void M1(int second){
boolean flag = true;
while(flag){
//執(zhí)行second秒后退出while循環(huán)
}
}實(shí)現(xiàn)思路
設(shè)置一個定時器執(zhí)行定時任務(wù),到達(dá)指定時間后把flag的值設(shè)置成false
代碼
import java.util.Timer;
import java.util.TimerTask;
public class Main {
public static void main(String[] args) throws Exception {
Timer timer = new Timer();//定時器
int delay = 5;//秒
Provider pd = new Provider(timer);
pd.M1(delay);
Thread.sleep(delay+100);
timer.cancel();//注銷定時器,否則虛擬機(jī)不退出
}
}
class Provider{
private Timer timer = null;
public Provider(Timer timer){
this.timer = timer;
}
public void M1(int second) {
// TODO Auto-generated method stub
class ScheduleHelper{
public boolean flag = true;
}
final ScheduleHelper helper = new ScheduleHelper();//final內(nèi)部類才能調(diào)用
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("set end");
helper.flag = false;//設(shè)置結(jié)束
}
}, second*1000);
while (helper.flag) {
try {
Thread.sleep(1000);//1秒執(zhí)行一次while循環(huán)
System.out.println("executing.....");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("method end");
}
}執(zhí)行結(jié)果
executing.....
executing.....
executing.....
executing.....
executing.....
set end
executing.....
method end
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中常用的json,jsonarray,map數(shù)據(jù)結(jié)構(gòu)與對象互轉(zhuǎn)詳解
這篇文章主要為大家詳細(xì)介紹了java中常用的json,jsonarray,map數(shù)據(jù)結(jié)構(gòu)與對象互轉(zhuǎn)的相關(guān)方法,主要是FastJSON和Jackson兩種常用庫,有需要的小伙伴可以了解下2025-12-12
Java實(shí)現(xiàn)支付寶之第三方支付寶即時到賬支付功能
這篇文章主要介紹了Java實(shí)現(xiàn)支付寶之第三方支付寶即時到賬支付功能的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
Java數(shù)據(jù)結(jié)構(gòu)之簡單鏈表的定義與實(shí)現(xiàn)方法示例
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之簡單鏈表的定義與實(shí)現(xiàn)方法,簡單描述了鏈接的概念、原理,并結(jié)合實(shí)例形式分析了java定義與使用鏈表的相關(guān)步驟與操作技巧,需要的朋友可以參考下2017-10-10
從配置到監(jiān)控詳解SpringBoot微服務(wù)性能優(yōu)化實(shí)踐指南
Spring Boot憑借快速開發(fā)、自動化配置和豐富生態(tài),被廣泛用于構(gòu)建微服務(wù),本指南將聚焦Spring Boot微服務(wù)性能優(yōu)化,希望可以幫助大家掌握性能調(diào)優(yōu)要點(diǎn)2025-08-08
Java excel數(shù)據(jù)導(dǎo)入mysql的實(shí)現(xiàn)示例詳解
今天教大家如何使用Java將excel數(shù)據(jù)導(dǎo)入MySQL,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴呢很有幫助,需要的朋友可以參考下2022-08-08

