如题所示,我看了下源码,不知道它是怎么阻塞在那里的,既没有循环也没有其他什么的。
3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
调用了native方法进行了阻塞,具体和平台有关。
如果在mac下(unix),会进入java.net.PlainSocketImpl
类的native void socketAccept(SocketImpl s)
。
查看openjdk1.7的源码,/solaris/native/java/net/PlainSocketImpl.c中的Java_java_net_PlainSocketImpl_socketAccept
方法中,有for (;;)
循环完成了阻塞。
添加回答
举报
0/150
提交
取消