请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

1回答

同学好,咱们程序处理请求通常会考虑使用线程池,线程池线程数设置得过小,就有可能导致请求没有得到及时处理。而close_wait只有一种情况,那就是对方发送一个FIN后,程序自己这边没有进一步发送ACK以确认。换句话说就是在对方关闭连接后,程序里没有检测到,或者程序里本身就已经忘了这个时候需要关闭连接,于是这个资源就一直被程序占用着。也就是说有限的线程一直被处理着别的事情,而导致其他请求堆积,导致其他请求没来得及发送ACK,连接一直处于close_wait状态

0 回复 有任何疑惑可以回复我~
  • 提问者 咋啥都不会啊 #1
    谢谢翔老师!
    老师的意思是不是
    当进程想回复client的fin的ack的时候,创建线程发现,线程池是满的,所以无法发送ack,导致连接一直处于close_wait.
    回复 有任何疑惑可以回复我~ 2019-03-06 23:56:29
  • 翔仔 回复 提问者 咋啥都不会啊 #2
    同学好,可以这么理解哈,就是提交给线程去操作的时候,发现没有可用的线程了,就被卡住
    回复 有任何疑惑可以回复我~ 2019-03-07 20:27:36
  • 提问者 咋啥都不会啊 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-03-10 16:05:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信