0
如何爲使用Java創建的可運行線程設置時間限制?java中Runnable線程的設置時間限制?
每次創建並運行的線程不止一個。我怎麼知道每個線程創建以來的時間?
這是我使用的代碼:
List<Thread> threads = new ArrayList<Thread>();
for(int i=0;i<no_of_threads;i++){
Runnable task = new MyRunnable(text,filename,prop,filename,L,L1,seq_no);
Thread worker = new Thread(task);
worker.start();
// Remember the thread for later usage
threads.add(worker);}
public class MyRunnable implements Runnable {
MyRunnable(String text,String filename,ArrayList<String> prop,String ip_file,Logger l,Logger l1,int seq_no) {
this.text=text;
this.filename=filename;
this.prop=prop;
this.ip_file=ip_file;
this.L=l;
this.L1=l1;
this.seq_no=seq_no;
}
@Override
public void run() {
/* other computation*/
}
當您的runnable開始運行時,將開始時間設置爲當前時間。在代碼中,定期檢查當前時間是否低於開始時間的限制,如果是這種情況,請停止運行。 –
這[問題](http://stackoverflow.com/questions/2733356/killing-thread-after-some-specified-time-limit-in-java)可能是有用的。 – Marco
@JBNizet:它不可能定期檢查時間,因爲:1.系統涉及大量計算,並且爲檢查時間分配內存是不可行的。當創建更多數量的線程時,總體性能會降低。 – kiran