java 基礎(chǔ) java怎么限制執(zhí)行時(shí)間?
java怎么限制執(zhí)行時(shí)間?未來(lái)類(Java 1.5或更高版本)。如何使用未來(lái)類?首先,創(chuàng)建一個(gè)新方法并向新方法中添加一個(gè)內(nèi)部方法(類似于內(nèi)部類)。這個(gè)方法可以看作是你想要做的限制運(yùn)行時(shí)間的方法。請(qǐng)記住
java怎么限制執(zhí)行時(shí)間?
未來(lái)類(Java 1.5或更高版本)。如何使用未來(lái)類?首先,創(chuàng)建一個(gè)新方法并向新方法中添加一個(gè)內(nèi)部方法(類似于內(nèi)部類)。這個(gè)方法可以看作是你想要做的限制運(yùn)行時(shí)間的方法。請(qǐng)記住,應(yīng)該將方法名更改為call,這與可調(diào)用的主根的類型有關(guān)。代碼如下:
final executorservice Exec=Executors.newFixedThreadPool(1)
callable<string> call=new callable<string>(){
public string call()拋出異常{
//開始耗時(shí)的操作線程。睡眠(1000*15)
返回“線程執(zhí)行完成”
然后將此方法代碼調(diào)用為
try{
Future<String> Future=執(zhí)行提交(調(diào)用)
字符串對(duì)象=未來(lái)。獲取(1000 * 10, 時(shí)間單位.毫秒)//將任務(wù)處理超時(shí)設(shè)置為1秒系統(tǒng)輸出打?。ā皌ask returned successfully:”obj)}catch(異常E){系統(tǒng)輸出打印(”處理失敗。“”
e.printstacktrace()]}]//關(guān)閉線程池執(zhí)行關(guān)機(jī)()
}
記住關(guān)閉線程池。