麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

Java定時調用

2019-11-06 06:12:30
字體:
來源:轉載
供稿:網友

(一)java代碼中定時調用的三種方法:

方法一:使用thread創建一個thread,然后讓它在while循環里一直運行著,通過sleep方法來達到定時任務的效果。代碼如下:

	public static void main(String[] args) {		final long timeInterval = 1000;		Runnable runnable = new Runnable() {			public void run() {				while (true) {					System.out.PRintln("方法一:循環調用 !!  時間=" + new Date() );					try {						Thread.sleep(timeInterval);					} catch (InterruptedException e) {						e.printStackTrace();					}				}			}		};		Thread thread = new Thread(runnable);		thread.start();	}

方法二:在實現時,Timer類可以調度任務,TimerTask則是通過在run()方法里實現具體任務。 Timer實例可以調度多任務,它是線程安全的。當Timer的構造器被調用時,它創建了一個線程,這個線程可以用來調度任務。 

詳解Timer地址,可查看調用時間       http://blog.csdn.net/chenssy/article/details/32703499

下面是簡單代碼:

	public static void main(String[] args) {		TimerTask task = new TimerTask() {			@Override			public void run() {				System.out.println("方法二:Timer定時調用 !!!  時間=" + new Date() );			}		};		Timer timer = new Timer();		long delay = 10000;		long intevalPeriod = 1 * 1000;		timer.scheduleAtFixedRate(task, delay, intevalPeriod);	}方法三:ScheduledExecutorService是從Java SE5的java.util.concurrent里,做為并發工具類被引進的,這是最理想的定時任務實現方式。下面是簡單代碼:

	public static void main(String[] args) {		Runnable runnable = new Runnable() {			public void run() {				System.out.println("方法三:ScheduledExecutorService定時調用 !!  時間=" + new Date() );			}		};		ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();		// 第二個參數為首次執行的延時時間,第三個參數為定時執行的間隔時間		service.scheduleAtFixedRate(runnable, 5, 3, TimeUnit.SECONDS);	}

(二)java代碼定時調用在spring中的例子:(下面代碼為固定幾分鐘調用一次,百度文庫定時調用http://wenku.baidu.com/view/a8ac2b71a8114431b80dd809.html)

編寫類TimerManager:

public class TimerManager {	 public TimerManager() {		NFDFlightDataTimerTask task = new NFDFlightDataTimerTask();		ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();		// 第二個參數為首次執行的延時時間,第三個參數為定時執行的間隔時間		service.scheduleAtFixedRate(task, 5, 3, TimeUnit.SECONDS);	 }}

編寫類NFDFlightDataTaskListener:

public class NFDFlightDataTimerTask extends TimerTask{	 private static Logger log = Logger.getLogger(NFDFlightDataTimerTask.class);	 @Override	 public void run() {		  try {		      //在這里寫你要執行的內容			  System.out.println("執行定時調用 !!  時間=" + new Date() );		  } catch (Exception e) {			  log.info("-------------解析信息發生異常--------------");		  }	 }}

編寫類NFDFlightDataTaskListener:

public class NFDFlightDataTaskListener implements ServletContextListener {	 public void contextInitialized(ServletContextEvent event) {		  new TimerManager();	 }	 public void contextDestroyed(ServletContextEvent event) {	 }}

然后要在web.xml里面配置監聽器:

  	<listener> 		<listener-class>com.cxy.timer.NFDFlightDataTaskListener</listener-class>	</listener>

希望對你有幫助,祝你有一個好心情,加油!

若有錯誤、不全、可優化的點,歡迎糾正與補充!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲精品xxx | 成人在线视频播放 | 九九热视频免费 | 免费黄色在线观看网站 | 亚洲第一成人在线 | 欧洲精品视频在线观看 | 国产一区亚洲 | 国产精品久久久久久久娇妻 | 国产精品99久久久久久董美香 | 毛片a级毛片免费播放100 | 国产三级午夜理伦三级 | 精品亚洲二区 | 国语自产免费精品视频在 | 久久网页 | 人人舔人人射 | 欧美日韩大片在线观看 | av噜噜噜噜 | 欧美乱淫 | 欧美成人免费看 | 操操操日日日干干干 | 亚欧在线免费观看 | 欧洲色阁中文字幕 | 国产精品视频在 | 嗯~啊~弄嗯~啊h高潮视频 | 黑人一区| 香蕉在线播放 | 亚洲午夜免费 | 三级国产三级在线 | 色av成人天堂桃色av | 久久亚洲精品11p | 精品一二三区视频 | 视频www| 久久精品欧美电影 | 国产精品一区视频 | 91色综合综合热五月激情 | 国产免费久久久久 | 欧美wwwwww| 黄色片视频观看 | 中文字幕精品一二三四五六七八 | 久久99国产伦子精品免费 | 水卜樱一区二区av |