java如何动态执行while循环

 更新时间:2024年01月16日 09:35:59   作者:奈何、草  
这篇文章主要介绍了java如何动态执行while循环问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题描述

public void M1(int second){
        boolean flag = true;
        while(flag){
            //执行second秒后退出while循环
        }
    }

实现思路

设置一个定时器执行定时任务,到达指定时间后把flag的值设置成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();//注销定时器,否则虚拟机不退出
        
    }
}

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内部类才能调用
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("set end");
                helper.flag = false;//设置结束
                
            }
        }, second*1000);
        while (helper.flag) {
                try {
                    Thread.sleep(1000);//1秒执行一次while循环
                    System.out.println("executing.....");
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
        }
        System.out.println("method end");    
    }
}

执行结果

executing.....
executing.....
executing.....
executing.....
executing.....
set end
executing.....
method end

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java读取excel文件的两种方法

    java读取excel文件的两种方法

    这篇文章主要为大家详细介绍了java读取excel文件的两种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • java中常用的json,jsonarray,map数据结构与对象互转详解

    java中常用的json,jsonarray,map数据结构与对象互转详解

    这篇文章主要为大家详细介绍了java中常用的json,jsonarray,map数据结构与对象互转的相关方法,主要是FastJSON和Jackson两种常用库,有需要的小伙伴可以了解下
    2025-12-12
  • Java实现支付宝之第三方支付宝即时到账支付功能

    Java实现支付宝之第三方支付宝即时到账支付功能

    这篇文章主要介绍了Java实现支付宝之第三方支付宝即时到账支付功能的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • MyBatis框架简介

    MyBatis框架简介

    本文主要介绍了MyBatis框架的基础知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • 深入剖析ArrayList的remove方法

    深入剖析ArrayList的remove方法

    这篇文章主要介绍了ArrayList的remove方法使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。</p>
    2021-09-09
  • java.lang.Void类的解析与使用详解

    java.lang.Void类的解析与使用详解

    这篇文章主要介绍了java.lang.Void类的解析与使用详解,文中涉及到了java.lang.integer类的源码,分场景给大家介绍的非常详细,给大家补充介绍java.lang.Void 与 void的比较及使用,需要的朋友可以参考下
    2017-12-12
  • Java数据结构之简单链表的定义与实现方法示例

    Java数据结构之简单链表的定义与实现方法示例

    这篇文章主要介绍了Java数据结构之简单链表的定义与实现方法,简单描述了链接的概念、原理,并结合实例形式分析了java定义与使用链表的相关步骤与操作技巧,需要的朋友可以参考下
    2017-10-10
  • 新版Android Studio修改jdk版本的简单步骤

    新版Android Studio修改jdk版本的简单步骤

    这篇文章主要介绍了新版Android Studio修改jdk版本的简单步骤,升级Android Studio后,JDK版本设置选项消失,可以通过Settings面板进入Gradle设置,修改GradleJDK路径来解决问题,需要的朋友可以参考下
    2025-03-03
  • 从配置到监控详解SpringBoot微服务性能优化实践指南

    从配置到监控详解SpringBoot微服务性能优化实践指南

    Spring Boot凭借快速开发、自动化配置和丰富生态,被广泛用于构建微服务,本指南将聚焦Spring Boot微服务性能优化,希望可以帮助大家掌握性能调优要点
    2025-08-08
  • Java excel数据导入mysql的实现示例详解

    Java excel数据导入mysql的实现示例详解

    今天教大家如何使用Java将excel数据导入MySQL,文中有非常详细的代码示例,对正在学习java的小伙伴呢很有帮助,需要的朋友可以参考下
    2022-08-08

最新评论