java基本輸入輸出 Java如何給scanner(System.in)限制輸入時間?
Java如何給scanner(System.in)限制輸入時間?實(shí)現(xiàn)多線程定時器不錯,然后刷新輸入倒計(jì)時界面。Java多線程實(shí)現(xiàn):1。繼承線程;2。實(shí)現(xiàn)可運(yùn)行接口;3。使用executorservic
Java如何給scanner(System.in)限制輸入時間?
實(shí)現(xiàn)多線程定時器不錯,然后刷新輸入倒計(jì)時界面。
Java多線程實(shí)現(xiàn):
1。繼承線程;
2。實(shí)現(xiàn)可運(yùn)行接口;
3。使用executorservice、callable和future實(shí)現(xiàn)返回結(jié)果的多線程處理。
java怎么限制執(zhí)行時間?
未來類(Java 1.5或更高版本)。如何使用未來類?首先,創(chuàng)建一個新方法并向新方法中添加一個內(nèi)部方法(類似于內(nèi)部類)。這個方法可以看作是你想要做的限制運(yùn)行時間的方法。請記住,應(yīng)該將方法名更改為call,這與可調(diào)用的主根的類型有關(guān)。代碼如下:
final executorservice Exec=Executors.newFixedThreadPool(1)
callable<string> call=new callable<string>(){
public string call()拋出異常{
//開始耗時的操作線程。睡眠(1000*15)
返回“線程執(zhí)行完成”
然后將此方法代碼調(diào)用為
try{
Future<String> Future=執(zhí)行提交(調(diào)用)
字符串對象=未來。獲取(1000 * 10, 時間單位.毫秒)//將任務(wù)處理超時設(shè)置為1秒系統(tǒng)輸出打?。ā皌ask returned successfully:”obj)}catch(異常E){系統(tǒng)輸出打?。ā碧幚硎??!啊?/p>
e.printstacktrace()]}]//關(guān)閉線程池執(zhí)行關(guān)機(jī)()
}
記住關(guān)閉線程池。