java 做一个类似倒计时的功能,详细如下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 做一个类似倒计时的功能,详细如下相关的知识,希望对你有一定的参考价值。

java能不能做一个类似倒计时的功能?从数据库里读出来一个时间,比如说读出来的时间是 倒计时2天,那么2天之后就自动执行某一段代码或方法,这个java能实现吗?如果是java实现的话,应不影响服务器效率问题或其他问题

参考技术A 可以做的,java里面有一个java.util.Timer类就可以实现你说的功能,里面有一个schedu方法,你查一下就知道啦,希望能帮助你追问

好,我想再问下 java做这种功能会对整个项目有影响吗?比如说效率问题,或者是其他的,会吗

参考技术B 是否影响效率,看你如何实现;如果只是一个倒计时,那么最多占用一个线程;多了就不好了;
如果是短时间的倒计时,还好;如果是长时间的(比如几小时、几天等),那么就很占用系统的线程资源;但不会占用CPU资源。追问

因为我现在做的都是在几天之后需要自动处理,那有什么更好的办法吗

追答

在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务。 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务。linux系统下使用一次性定时计划任务的at命令!
1.命令格式:
at[参数][时间]
2.命令功能:
在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(
ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行 chkconfig --level 2345 atd on)。
3.命令参数:
-m 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
-I atq的别名
-d atrm的别名
-v 显示任务将被执行的时间
-c 打印任务的内容到标准输出
-V 显示版本信息
-q 使用指定的列队
-f 从指定文件读入任务而不是从标准输入读入
-t 以时间参数的形式提交要运行的任务

at允许使用一套相当复杂的指定时间的方法。他能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。也能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定时间的后面。
TIME:时间格式,这里可以定义出什么时候要进行 at 这项任务的时间,格式有:
HH:MM
ex> 04:00
在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此任务。
HH:MM YYYY-MM-DD
ex> 04:00 2009-03-17
强制规定在某年某月的某一天的特殊时刻进行该项任务
HH:MM[am|pm] [Month] [Date]
ex> 04pm March 17
也是一样,强制在某年某月某日的某时刻进行该项任务
HH:MM[am|pm] + number [minutes|hours|days|weeks]
ex> now + 5 minutes
ex> 04pm + 3 days
就是说,在某个时间点再加几个时间后才进行该项任务。

本回答被提问者采纳
参考技术C public static void SLEEP()
//从数据库中读出时间
try
Thread.sleep(1000*60*60*48);//休眠48小时
catch (InterruptedException e)
// TODO Auto-generated catch block
e.printStackTrace();

//要执行代码

以上是关于java 做一个类似倒计时的功能,详细如下的主要内容,如果未能解决你的问题,请参考以下文章

图文详解-如何用Axure做一个倒计时功能按钮

图文详解-如何用Axure做一个倒计时功能按钮

如何在java设计的程序中加入一个倒计时功能

pyqt5如何计时?

QT做一个按钮Qpushbutton 倒计时功能的小小程序

如何用java写一个类似于游戏对话框的效果