我在网上看到了这段代码。但是,我无法理解while(true)
阻止如何在此代码中发生:
private void ListenForClients()
{
this.tcpListener.Start();
while (true)
{
//blocks until a client has connected to the server
TcpClient client = this.tcpListener.AcceptTcpClient();
//create a thread to handle communication
//with connected client
Thread clientThread = new Thread(new ParameterizedThreadStart(HandleClientComm));
clientThread.Start(client);
}
}
任何人都可以向我解释一下吗?我知道使用while(true)
+破坏条件,但这件事超出了我的范围。
答案 0 :(得分:5)
AcceptTcpClient
是什么阻止。 while (true)
将无休止地循环,直到进程终止,线程被中断或抛出异常。
答案 1 :(得分:3)
执行阻止的不是while(true)
,而是AcceptTcpClient()
。这就是:
this.tcpListener.AcceptTcpClient()
并停止线程,因为AcceptTcpClient是一种阻止方法。