なんて状態はよくあります。
終わらないなら強制終了させねばなりません。
指定時間内で終わらない仕事は強制終了する、そんな方法(コード)をお見せします。
Java で時間を指定するならスレッドを使うしかありません。
便利なクラスが提供されていますが基本はスレッドです。
行う動作を別スレッドで走らせて、指定時間が来たら interrupt() をかけます。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class TimeOut extends Thread{ | |
MyTask task; | |
public TimeOut(MyTask task){ | |
this.task=task; | |
start(); | |
} | |
public void run(){ | |
try{ | |
Thread.sleep(1000); | |
task.interrupt(); | |
}catch(Exception e){ | |
} | |
} | |
public static void main(String args[]){ | |
MyTask task=new MyTask(); | |
new TimeOut(task); | |
} | |
} | |
class MyTask extends Thread{ | |
MyTask(){ | |
start(); | |
} | |
public void run(){ | |
try{ | |
for(;;){ | |
System.out.print("*"); | |
sleep(100); | |
} | |
}catch(Exception e){ | |
} | |
} | |
} |