真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中怎樣實現(xiàn)定時任務(wù)

今天就跟大家聊聊有關(guān)Java中怎樣實現(xiàn)定時任務(wù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

10多年的川匯網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整川匯建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“川匯網(wǎng)站設(shè)計”,“川匯網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

一、普通thread

這是最常見的,創(chuàng)建一個thread,然后讓它在while循環(huán)里一直運(yùn)行著,通過sleep方法來達(dá)到定時任務(wù)的效果。這樣可以快速簡單的實現(xiàn),代碼如下:

代碼如下:

public class Task1 {

public static void main(String[] args) {

// run in a second

final long timeInterval = 1000;

Runnable runnable = new Runnable() {

public void run() {

while (true) {

// ------- code for task to run

System.out.println("Hello !!");

// ------- ends here

try {

Thread.sleep(timeInterval);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

};

Thread thread = new Thread(runnable);

thread.start();

}

}

二、用Timer和TimerTask

上面的實現(xiàn)是非??焖俸啽愕?,但它也缺少一些功能。

用Timer和TimerTask的話與上述方法相比有如下好處:

1.當(dāng)啟動和去取消任務(wù)時可以控制

2.第一次執(zhí)行任務(wù)時可以指定你想要的delay時間

在實現(xiàn)時,Timer類可以調(diào)度任務(wù),TimerTask則是通過在run()方法里實現(xiàn)具體任務(wù)。

Timer實例可以調(diào)度多任務(wù),它是線程安全的。

當(dāng)Timer的構(gòu)造器被調(diào)用時,它創(chuàng)建了一個線程,這個線程可以用來調(diào)度任務(wù)。

下面是代碼:

代碼如下:

import java.util.Timer;

import java.util.TimerTask;

public class Task2 {

public static void main(String[] args) {

TimerTask task = new TimerTask() {

@Override

public void run() {

// task to run goes here

System.out.println("Hello !!!");

}

};

Timer timer = new Timer();

long delay = 0;

long intevalPeriod = 1 * 1000;

// schedules the task to be run in an interval

timer.scheduleAtFixedRate(task, delay,

intevalPeriod);

} // end of main

}

這些類從JDK 1.3開始存在。

三、ScheduledExecutorService

ScheduledExecutorService是從Java SE 5的java.util.concurrent里,做為并發(fā)工具類被引進(jìn)的,這是最理想的定時任務(wù)實現(xiàn)方式。

相比于上兩個方法,它有以下好處:

1.相比于Timer的單線程,它是通過線程池的方式來執(zhí)行任務(wù)的

2.可以很靈活的去設(shè)定第一次執(zhí)行任務(wù)delay時間

3.提供了良好的約定,以便設(shè)定執(zhí)行的時間間隔

下面是實現(xiàn)代碼,我們通過ScheduledExecutorService#scheduleAtFixedRate展示這個例子,通過代碼里參數(shù)的控制,首次執(zhí)行加了delay時間。

代碼如下:

import java.util.concurrent.Executors;

import java.util.concurrent.ScheduledExecutorService;

import java.util.concurrent.TimeUnit;

public class Task3 {

public static void main(String[] args) {

Runnable runnable = new Runnable() {

public void run() {

// task to run goes here

System.out.println("Hello !!");

}

};

ScheduledExecutorService service = Executors

.newSingleThreadScheduledExecutor();

service.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.SECONDS);

}

}

看完上述內(nèi)容,你們對Java中怎樣實現(xiàn)定時任務(wù)有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)頁名稱:Java中怎樣實現(xiàn)定時任務(wù)
網(wǎng)址分享:http://weahome.cn/article/jojpoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部