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

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

java延遲執(zhí)行代碼 java程序如何延遲兩秒

在JAVA中怎樣能使一條語句延遲執(zhí)行

可以試試java.lang.Thread里的sleep方法

公司主營業(yè)務:成都做網站、成都網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯(lián)網宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出興縣免費做網站回饋大家。

public static void sleep(long millis)

throws InterruptedException在指定的毫秒數內讓當前正在執(zhí)行的線程休眠(暫停執(zhí)行),此操作受到系統(tǒng)計時器和調度程序精度和準確性的影響。該線程不丟失任何監(jiān)視器的所屬權。 參數:

millis - 以毫秒為單位的休眠時間。

拋出:

InterruptedException - 如果任何線程中斷了當前線程。當拋出該異常時,當前線程的中斷狀態(tài) 被清除。

java中如何是方法延遲執(zhí)行?

顯示JDialog之前啟動一個線程,等待3秒后使JDialog消失

注意,一定要在JDialog.setVisible(true)之前啟動線程,否則,一旦啟動JDialog,就會阻塞住程序,使后面的代碼無法執(zhí)行

java executors有哪些方法

Java通過Executors提供四種線程池,分別為:

newCachedThreadPool創(chuàng)建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。

newFixedThreadPool 創(chuàng)建一個定長線程池,可控制線程最大并發(fā)數,超出的線程會在隊列中等待。

newScheduledThreadPool 創(chuàng)建一個定長線程池,支持定時及周期性任務執(zhí)行。

newSingleThreadExecutor 創(chuàng)建一個單線程化的線程池,它只會用唯一的工作線程來執(zhí)行任務,保證所有任務按照指定順序(FIFO, LIFO, 優(yōu)先級)執(zhí)行。

(1) newCachedThreadPool

創(chuàng)建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。示例代碼如下:

Java代碼

package?test;

import?java.util.concurrent.ExecutorService;

import?java.util.concurrent.Executors;

public?class?ThreadPoolExecutorTest?{

public?static?void?main(String[]?args)?{

ExecutorService?cachedThreadPool?=?Executors.newCachedThreadPool();

for?(int?i?=?0;?i??10;?i++)?{

final?int?index?=?i;

try?{

Thread.sleep(index?*?1000);

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

cachedThreadPool.execute(new?Runnable()?{

public?void?run()?{

System.out.println(index);

}

});

}

}

}

線程池為無限大,當執(zhí)行第二個任務時第一個任務已經完成,會復用執(zhí)行第一個任務的線程,而不用每次新建線程。

(2) newFixedThreadPool(項目用過)

創(chuàng)建一個定長線程池,可控制線程最大并發(fā)數,超出的線程會在隊列中等待。示例代碼如下:

Java代碼

package?test;

import?java.util.concurrent.ExecutorService;

import?java.util.concurrent.Executors;

public?class?ThreadPoolExecutorTest?{

public?static?void?main(String[]?args)?{

ExecutorService?fixedThreadPool?=?Executors.newFixedThreadPool(3);

for?(int?i?=?0;?i??10;?i++)?{

final?int?index?=?i;

fixedThreadPool.execute(new?Runnable()?{

public?void?run()?{

try?{

System.out.println(index);

Thread.sleep(2000);

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

}

});

}

}

}

因為線程池大小為3,每個任務輸出index后sleep 2秒,所以每兩秒打印3個數字。

定長線程池的大小最好根據系統(tǒng)資源進行設置。如Runtime.getRuntime().availableProcessors()

(3)? newScheduledThreadPool

創(chuàng)建一個定長線程池,支持定時及周期性任務執(zhí)行。延遲執(zhí)行示例代碼如下:

Java代碼

package?test;

import?java.util.concurrent.Executors;

import?java.util.concurrent.ScheduledExecutorService;

import?java.util.concurrent.TimeUnit;

public?class?ThreadPoolExecutorTest?{

public?static?void?main(String[]?args)?{

ScheduledExecutorService?scheduledThreadPool?=?Executors.newScheduledThreadPool(5);

scheduledThreadPool.schedule(new?Runnable()?{

public?void?run()?{

System.out.println("delay?3?seconds");

}

},?3,?TimeUnit.SECONDS);

}

}

表示延遲3秒執(zhí)行。

定期執(zhí)行示例代碼如下:

Java代碼

package?test;

import?java.util.concurrent.Executors;

import?java.util.concurrent.ScheduledExecutorService;

import?java.util.concurrent.TimeUnit;

public?class?ThreadPoolExecutorTest?{

public?static?void?main(String[]?args)?{

ScheduledExecutorService?scheduledThreadPool?=?Executors.newScheduledThreadPool(5);

scheduledThreadPool.scheduleAtFixedRate(new?Runnable()?{

public?void?run()?{

System.out.println("delay?1?seconds,?and?excute?every?3?seconds");

}

},?1,?3,?TimeUnit.SECONDS);

}

}

表示延遲1秒后每3秒執(zhí)行一次。

(4) newSingleThreadExecutor

創(chuàng)建一個單線程化的線程池,它只會用唯一的工作線程來執(zhí)行任務,保證所有任務按照指定順序(FIFO, LIFO, 優(yōu)先級)執(zhí)行。示例代碼如下:

Java代碼

package?test;

import?java.util.concurrent.ExecutorService;

import?java.util.concurrent.Executors;

public?class?ThreadPoolExecutorTest?{

public?static?void?main(String[]?args)?{

ExecutorService?singleThreadExecutor?=?Executors.newSingleThreadExecutor();

for?(int?i?=?0;?i??10;?i++)?{

final?int?index?=?i;

singleThreadExecutor.execute(new?Runnable()?{

public?void?run()?{

try?{

System.out.println(index);

Thread.sleep(2000);

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

}

});

}

}

}

結果依次輸出,相當于順序執(zhí)行各個任務。

你可以使用JDK自帶的監(jiān)控工具來監(jiān)控我們創(chuàng)建的線程數量,運行一個不終止的線程,創(chuàng)建指定量的線程,來觀察:

工具目錄:C:\Program Files\Java\jdk1.6.0_06\bin\jconsole.exe

運行程序做稍微修改:

Java代碼

package?test;

import?java.util.concurrent.ExecutorService;

import?java.util.concurrent.Executors;

public?class?ThreadPoolExecutorTest?{

public?static?void?main(String[]?args)?{

ExecutorService?singleThreadExecutor?=?Executors.newCachedThreadPool();

for?(int?i?=?0;?i??100;?i++)?{

final?int?index?=?i;

singleThreadExecutor.execute(new?Runnable()?{

public?void?run()?{

try?{

while(true)?{

System.out.println(index);

Thread.sleep(10?*?1000);

}

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

}

});

try?{

Thread.sleep(500);

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

}

}

}


當前文章:java延遲執(zhí)行代碼 java程序如何延遲兩秒
本文路徑:http://weahome.cn/article/ddipjdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部