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-02
Maven 版本管理與 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-06
Java多線(xiàn)程 中斷機(jī)制及實(shí)例詳解
這篇文章主要介紹了Java多線(xiàn)程 中斷機(jī)制及實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
SpringBoot框架整合Mybatis簡(jiǎn)單攻略
這篇文章主要介紹了SpringBoot框架整合Mybatis的簡(jiǎn)單攻略,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10
spring中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

