這是我的一段代碼:如何打破無限循環
// TODO Auto-generated method stub
try
{
Socket clientSocket = new Socket("localhost", 8888);
ObjectOutputStream ous = new ObjectOutputStream(clientSocket.getOutputStream());
while(sending)
{
Statistics statsData = setStatisticsData();
ous.writeObject(statsData);
Thread.sleep(5000);
}
}
catch(UnknownHostException uhe)
{
uhe.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
它的client.it'll無限循環發送對象統計。我會實現一種方法來通過輸入來打破這個無限循環(例如,按下鍵盤上的按鈕).ok我可以做什麼?我怎樣才能打破無限循環?
使用interrupt()的另一個好處是它會中斷sleep,wait等各種高級阻塞調用。你無法用自定義的「我們已被殺死」的標誌實現這一點 – 2012-07-11 13:21:09
@Tomasz Nurkiewicz但我應該在哪裏打斷線程? – user1508419 2012-07-11 13:21:36
@ user1508419 - 在任何線程從鍵盤讀取按鍵事件或字符。 – 2012-07-11 13:23:28