[英]How to limit a thread's execution time and terminate it if it runs too long?
[英]How to terminate the execution of thread in java?
認為客戶端已連接到服務器,並且它使用多個線程同時為多個客戶端提供服務,並且需要為新來者關閉服務器,並且服務器中的客戶端不應受到干擾。 我們怎么做?
做這樣的事情:
public class TheThreadClass extends Thread{
private bool terminated;
public void terminate(){
this.terminate = true;
}
@Override
public void run(){
while(!terminated){
// thread code here
}
}
}
只需關閉ServerSocket.
在accept()
被阻塞的線程將拋出一個IOException: socket closed,
它應該退出。 然后,不會接受任何新連接,但將繼續為所有現有連接提供服務。
我覺得interrupt()方法可能是終止線程的最好和最簡單的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.