0
我碰巧遇到這篇文章中使用的Executor服務一段時間後殺死一個線程後殺死線程:Killing thread after some specified time limit in Java使用執行人及可運行起來一段時間
這是文章中提到的代碼:
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.invokeAll(Arrays.asList(new Task()), 10, TimeUnit.MINUTES); // Timeout of 10 minutes.
executor.shutdown();
現在我有一個可運行的線程在我的程序中執行。如何在使用上述代碼一段時間後終止該線程?
這裏是我的代碼的一部分,我已經使用了創建線程:
public static List<Thread> thread_starter(List<Thread> threads,String filename)
{ String text=read_from_temp(filename);
Runnable task = new MyRunnable(text);
Thread worker = new Thread(task);
worker.start();
// Remember the thread for later usage
threads.add(worker);
return threads;
}
public class MyRunnable implements Runnable {
MyRunnable(String text)
{
this.text=text;
}
@Override
public void run() {
/* other computation*/
}
創建通過調用thread_started()函數的多個線程。
任何人都可以請幫我把執行器服務與它結合起來。我嘗試了很多,但找不到任何出路!
可能你應該看看這個答案... http://stackoverflow.com/a/15900500/614868 – Venky