1. 程式人生 > >定時器按指定時間週期執行指定的任務

定時器按指定時間週期執行指定的任務

原博地址:http://blog.csdn.net/tsyj810883979/article/details/8481621

/** 
 * 每天晚上2點執行一次 
 * 每天定時安排任務進行執行 
 */  
public static void executeEightAtNightPerDay() {  
    ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);  
    long oneDay = 24 * 60 * 60 * 1000;  
    long initDelay  = getTimeMillis("02:00:00") - System.currentTimeMillis();  
    initDelay = initDelay > 0 ? initDelay : oneDay + initDelay;  
  
    executor.scheduleAtFixedRate(  
            new EchoServer(),  
            initDelay,  
            oneDay,  
            TimeUnit.MILLISECONDS);  
}  
/** 
 * 獲取指定時間對應的毫秒數 
 * @param time "HH:mm:ss" 
 * @return 
 */  
private static long getTimeMillis(String time) {  
    try {  
        DateFormat dateFormat = new SimpleDateFormat("yy-MM-dd HH:mm:ss");  
        DateFormat dayFormat = new SimpleDateFormat("yy-MM-dd");  
        Date curDate = dateFormat.parse(dayFormat.format(new Date()) + " " + time);  
        return curDate.getTime();  
    } catch (ParseException e) {  
        e.printStackTrace();  
    }  
    return 0;  
}  
class EchoServer implements Runnable {  
    @Override  
    public void run() {  
        try {  
            Thread.sleep(50);  
        } catch (InterruptedException e) {  
            e.printStackTrace();  
        }  
        System.out.println("This is a echo server. The current time is " +  
                System.currentTimeMillis() + ".");  
    }  
}  



相關推薦

定時指定時間週期執行指定任務

原博地址:http://blog.csdn.net/tsyj810883979/article/details/8481621 /** * 每天晚上2點執行一次 * 每天定時安排任務進行執行 */ public static void executeEigh

Spring定時在同一時間重複執行兩次

轉自: http://blog.sina.com.cn/s/blog_4c03369c0101tbtj.html 最近用Spring的quartz定時器的時候,發現到時間後,任務總是重複執行兩次,在tomcat或jboss下都如此。打印出他們的hashcode,發現是

啟動系統定時,每隔1分鐘/指定時間執行任務 學習筆記

啟動系統定時器每隔1分鐘/指定時間執行 import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class DemoTimer { //啟

spring定時按照指定時間進行執行

一般我們使用spring定時器的時候都是配置的固定時間在spring配置檔案中,如果我們有一個時間設定頁面,通過這個頁面設定定時器的執行時間,就可以達到動態執行的效果。 上程式碼: package com.test.action; import java.text.Par

ScheduledExecutorService定時週期執行指定任務

public ScheduledFuture<?> scheduleAtFixedRate(Runnable command,               long initialDelay,               long period,      

ScheduledExecutorService 定時週期執行指定任務

個人分類: JavaJava 執行緒 一:簡單說明 ScheduleExecutorService介面中有四個重要的方法,其中scheduleAtFixedRate和scheduleWithFixedDelay在實現定時程式時比較方便。 下面是該介面的原型定義

C#使用Timer.Interval指定時間間隔與指定時間執行事件

https://www.cnblogs.com/wusir/p/3636149.html C#中,Timer是一個定時器,它可以按照指定的時間間隔或者指定的時間執行一個事件。 指定時間間隔是指按特定的時間間隔,如每1分鐘、每10分鐘、每1個小時等執行指定事件; 指定時間是指每小時的第30分、每天10:3

MFC中setimer和ontimer定時函式到時間不能觸發執行是因為WM_TIMER訊息的優先順序低

MFC中setimer和ontimer定時器函式到時間不能觸發執行, 因為WM_TIMER訊息的優先順序低,所以會優先處理高級別其他訊息,如 WM_PAINT訊息重複觸發介面的重繪, WM_TIMER無處理的機會。訊息

Timer定時如何在時間範圍內執行?

       我們知道,Timer定時器是不支援時間範圍內的執行,但是需求中有這樣的情景,我們有一個預約扣款的需求,扣款成功後就會發簡訊,但是我們也不知道什麼時候扣款成功,有時候半夜凌晨就會扣款成功,我們扣款成功判斷這裡用Timer定時器掃描的,每隔一段時

Linux crontab定時設置(定期執行java程序)(轉)

在那 安裝 一次 tin 文件名 ani data 說明 ive Crontab 語法 Crontab語法一個crontab文件用五個段來定義:天,日期和時間,和一個要定期執行的命令代碼。 * * * * * command to be execut

430定時下開始再暫停

main.c #include <msp430x14x.h>#include "Config.h"#include"1602.c"int second = 0, minute = 0, count = 0, flag = 0, a = 0, b = 0, c = 0;unsigne

執行緒&定時Timer&同步&執行緒通訊&ThreadLocal

1.多執行緒 執行緒狀態分為:新建狀態、就緒狀態、執行狀態、阻塞狀態、死亡狀態 物件等待池的阻塞狀態:執行狀態執行了wait方法 對向鎖池的阻塞狀態:試圖獲得某個同步鎖,已經被其他執行緒佔用,就會放到物件的鎖池中 其他阻塞狀態:執行了s

C#:定時的使用。及 執行緒間的跳轉

1.程式功能介紹 一開始在窗體form1中,點選按鈕button1,textlable標籤顯示“等待2s,跳轉到窗體2”,之後便隱藏窗體1,顯示窗體2. 2.實現思路及程式碼 在點選事件中有: ①顯示文字 ②Thread.Sleep(2000); ③等待2秒結束,跳轉到窗體2

windows下啟動cmd,開啟指定目錄,執行指定命令

本地專案環境執行需要不斷進行如 cmd 下: C:\Users\MeetYou\Desktop>d: D:\>cd meiyou-wjt D:\meiyou-wjt>vagrant up 有點麻煩,改用bat 一鍵啟動本地環境 start cmd /k "

Quartz定時中Cron時間控制表示式寫法

Quartz定時器中Cron時間控制表示式寫法:   1、表示形式 該表示式簡潔簡單,總共有7個空格分割的表達子式,形式為【* * * * * * *】,而這七個位置上的東西表達方式有很多,意義從左往右依次是:秒 分 時 日 月 周 年,往往,“年”這個標誌位可以不寫,而

java定時類Timer和多執行緒介紹及例項

任務要求: 完成一個java application應用程式,使用定時器程式設計,在實時顯示當前時間,每1秒時鐘內容更新一次。 完成一個java application應用程式,在應用程式主程序中新開一個執行緒,此執行緒進行死迴圈,每1秒被啟用一次,啟用時即在

Timer定時方法(間隔時間執行

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco } p.p3 { marg

設定定時——Tomcat啟動後開始執行

首先建立監聽器: public class ScheduleListener implements ServletContextListener { private static Schedu

java開啟指定檔案(執行指定程式exe)

1 public static void main(final String[] args) throws IOException { openWindowsExe(); openExe(

Android定時..做天數時間倒計時

如圖:  主要的倒計時程式碼如下....從秒判斷起...再判斷分...小時... /** * 倒計時計算 */ private void computeTime() { mSecond--; if (m