如題所示,我看了下源碼,不知道它是怎么阻塞在那里的,既沒有循環也沒有其他什么的。
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
提交
取消
