java线程-求详细

java线程-求详细

无法言说的痛 发布于 2021-11-26 字数 61 浏览 843 回复 17

用java写一个线程,指定其在每天晚上12点运行一次,求具体代码 ?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(17

别再吹冷风 2021-12-01 17 楼

谢谢!

南冥有猫 2021-12-01 16 楼

定时器,

柠檬 2021-12-01 15 楼

谢谢哦 !

北笙凉宸 2021-12-01 14 楼

自己写我就不扯淡了

项目中:建议用quartz 或者 spring schedule

空城仅有旧梦在 2021-12-01 13 楼

这问题真是

三月梨花 2021-12-01 12 楼

开源的力量是巨大的,乐于助人,快乐自己,

回忆凄美了谁 2021-12-01 11 楼

手伸到开源中国了,应该去JAVA吧伸手,那里会帮你的

哑剧 2021-12-01 10 楼

这个很不错, 非常感谢啊。

等风来 2021-12-01 9 楼
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.AM_PM, calendar.AM); // 设置到上午,方便设置到0点
calendar.set(Calendar.HOUR_OF_DAY, 0);      // 设置到0点, 表示晚上12点
calendar.set(Calendar.MINUTE, 0);           // 分钟
calendar.set(Calendar.SECOND, 0);           // 秒
calendar.add(Calendar.DAY_OF_MONTH, 1);     // 第二天

long initDelay = calendar.getTimeInMillis() - System.currentTimeMillis(); // 设置执行的时间减去当前时间,就是需要等待的时长

ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor(1);
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
    @Override
    public void run() {
        System.out.println("task run ...");
    }
}, initDelay, TimeUnit.DAYS.toMillis(1), TimeUnit.MILLISECONDS); // 每隔一天执行

酷到爆炸 2021-12-01 8 楼

fish

檐上三寸雪 2021-12-01 7 楼

quartz

尐偏执 2021-12-01 6 楼

线程只跑一次,在里面加上定时器

已下线请稍等 2021-12-01 5 楼

new Thread(){

  long time=1433347200000l;//2015年6月4日0点的毫秒数,换其他时间的话,一天的毫秒数是86400000

  Date now;

  public void run(){

    now=new Date();

    if(((now.getTime()-time)%86400000)==0){

      //要做的事情

    }

}.start();

蓝颜夕 2021-12-01 4 楼

写出来啊.

把昨日还给我 2021-11-30 3 楼

伸手简直理直气壮

感情旳空白 2021-11-29 2 楼

回复
伸手党?

岁吢 2021-11-28 1 楼

最简单的用timer