这是我的一段代码:如何打破无限循环
// 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