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)文章
Spring Boot集群管理工具KafkaAdminClient使用方法解析
這篇文章主要介紹了Spring Boot集群管理工具KafkaAdminClient使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Maven 版本管理與 flatten-maven-plugin 插件的使用解析
這篇文章主要介紹了Maven 版本管理與 flatten-maven-plugin 插件的使用解析,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07實(shí)例分析java中重載與重寫(xiě)的區(qū)別
這篇文章主要介紹了實(shí)例分析java中重載與重寫(xiě)的區(qū)別,需要的朋友可以參考下2014-07-07解決feign微服務(wù)間的文件上傳報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決feign微服務(wù)間的文件上傳報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06SpringBoot框架整合Mybatis簡(jiǎn)單攻略
這篇文章主要介紹了SpringBoot框架整合Mybatis的簡(jiǎn)單攻略,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10spring中REST和RESTful的區(qū)別以及基本實(shí)現(xiàn)
本文主要介紹了spring中REST和RESTful的區(qū)別以及基本實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04