【发布时间】:2012-05-17 10:43:49
【问题描述】:
我有一个正在侦听套接字的服务器线程。用这样的声明:
Socket client = serverSocket.accept();
调用此接受函数的线程实际发生了什么? javadoc 说“侦听与此套接字建立的连接并接受它。该方法阻塞,直到建立连接。” “阻塞”是指一种忙于等待的形式,还是线程暂停/处于睡眠状态,直到它收到作为中断的请求或其他东西?此外,这种行为是否可以推广到套接字上的所有阻塞函数调用,如读取等...
【问题讨论】:
-
块表示块。在
accept()返回之前,该线程不会继续。 (底层系统调用本身就是阻塞的。该部分的确切如何工作超出了 Java 的范围,因此从“系统”的角度来看它可能更相关......)
标签: java sockets network-programming