扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以通过做监听器(在web.xml中配置监听器),之后监听器里面的方法实现TimeTask 类,之后即可实现定时效果,执行某个程序。
创新互联主营公安网站建设的网络公司,主营网站建设方案,app软件开发公司,公安h5小程序制作搭建,公安网站营销推广欢迎公安等地区企业咨询
这是不可能实现的。程序不运行,你那定时定在那,有什么去识别。所以好好写程序,不要乱想。
让程序一直执行,但是在执行任务的时候通过时间段来控制。
有多种思路可以实现。最直接最简单就是用:java.util.Timer 类的 scheduleAtFixedRate(TimerTask task, Date firstTime, long period) 方法。第一个参数执行的任务,这个你应该知道了。
最快的,socket还要用占系统的端口,其实很简单,java程序启动是,先产生一个.lock的文件,并对此文件加锁,另一个就无法获得锁,听上去很复杂,其实实现很简单。
MyJob02 //首先我们需要定义一个任务类,比如为MyJob02 ,//该类需要继承Job类,然后添加execute(JobExecutionContext context)方法,在 //这个方法中就是我们具体的任务执行的地方。
这个可以稍微转换一下思路,只要获取一下目标时间,再减去当前时间,获取间隔T 然后再调用 Timer中的schedule 隔T时间运行,一切搞定。
延时执行 首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。
无非就是时间匹配而已,设置两个线程,一个用于时间匹配,一个用于执行功能。除了定时器,还可以使用concurrent包的ScheduledThreadPoolExecutor,delay设为现在到12点的时间,duration设为24小时。
延时执行 首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。
一般我们使用spring定时器的时候都是配置的固定时间在spring配置文件中,如果我们有一个时间设置页面,通过这个页面设置定时器的执行时间,就可以达到动态执行的效果。
timer.schedule(task, firstTime, period)指定firstTime为21:00:00,period为一天的毫秒数24*3600*1000就成了。或者可以自己写个线程,放个while循环,每分钟检查一次,如果到时间了就执行任务,如果没到就sleep一分钟。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流