java如何動(dòng)態(tài)執(zhí)行while循環(huán)
問(wèn)題描述
public void M1(int second){
boolean flag = true;
while(flag){
//執(zhí)行second秒后退出while循環(huán)
}
}實(shí)現(xiàn)思路
設(shè)置一個(gè)定時(shí)器執(zhí)行定時(shí)任務(wù),到達(dá)指定時(shí)間后把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();//定時(shí)器
int delay = 5;//秒
Provider pd = new Provider(timer);
pd.M1(delay);
Thread.sleep(delay+100);
timer.cancel();//注銷(xiāo)定時(shí)器,否則虛擬機(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)部類(lè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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 詳解Java中的do...while循環(huán)語(yǔ)句的使用方法
- Java如何使用while循環(huán)計(jì)算一個(gè)整數(shù)的位數(shù)
- Java While循環(huán) do-while循環(huán)用法
- Java之while與do-while循環(huán)的用法詳解
- Java中的while循環(huán)語(yǔ)句詳細(xì)講解
- Java中的while無(wú)限循環(huán)結(jié)構(gòu)及實(shí)例
- Java零基礎(chǔ)教程之do-while循環(huán)語(yǔ)句實(shí)例
- Java中while循環(huán)的使用方法舉例詳解
相關(guān)文章
java中常用的json,jsonarray,map數(shù)據(jù)結(jié)構(gòu)與對(duì)象互轉(zhuǎn)詳解
這篇文章主要為大家詳細(xì)介紹了java中常用的json,jsonarray,map數(shù)據(jù)結(jié)構(gòu)與對(duì)象互轉(zhuǎn)的相關(guān)方法,主要是FastJSON和Jackson兩種常用庫(kù),有需要的小伙伴可以了解下2025-12-12
Java實(shí)現(xiàn)支付寶之第三方支付寶即時(shí)到賬支付功能
這篇文章主要介紹了Java實(shí)現(xiàn)支付寶之第三方支付寶即時(shí)到賬支付功能的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
Java數(shù)據(jù)結(jié)構(gòu)之簡(jiǎn)單鏈表的定義與實(shí)現(xiàn)方法示例
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之簡(jiǎn)單鏈表的定義與實(shí)現(xiàn)方法,簡(jiǎn)單描述了鏈接的概念、原理,并結(jié)合實(shí)例形式分析了java定義與使用鏈表的相關(guān)步驟與操作技巧,需要的朋友可以參考下2017-10-10
新版Android?Studio修改jdk版本的簡(jiǎn)單步驟
這篇文章主要介紹了新版Android?Studio修改jdk版本的簡(jiǎn)單步驟,升級(jí)Android?Studio后,JDK版本設(shè)置選項(xiàng)消失,可以通過(guò)Settings面板進(jìn)入Gradle設(shè)置,修改GradleJDK路徑來(lái)解決問(wèn)題,需要的朋友可以參考下2025-03-03
從配置到監(jiān)控詳解SpringBoot微服務(wù)性能優(yōu)化實(shí)踐指南
Spring Boot憑借快速開(kāi)發(fā)、自動(dòng)化配置和豐富生態(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ì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴呢很有幫助,需要的朋友可以參考下2022-08-08

