我正在阅读来自Kurose的计算机网络,并且在TCP章节中阅读关于TCP和Go Back之间的差异的NI发现了一些我不完全理解的东西.书中说明了以下两种协议之间的一些差异:
"许多TCP实现缓冲正确接收但无序的segs而不是丢弃.
另外,假设seqof segs 1,2,... N按顺序正确接收,ACK(n),n <N,丢失,剩余的N-1个acks在各自超时之前到达发送方TCP重传最多一个seg ,即seg n,而不是pkts,n,n + 1,...,N,如果ACK(n + 1)在超时之前到达seg n,则TCP甚至不会重传seg n"
我理解无序段的缓冲,但我不理解其他行为,我认为这是因为我不完全理解返回N.遵循该示例,如果ACK(n + t)到达在Go Back N超时之前,协议将继续,好像seg n实际上是收到的,这是因为累积的ACKS ...所以,Go Back N不会重新传输该段....或者是我错过了什么?
我正在开发一个Swing应用程序.我需要在后台运行一些任务,因此需要在TrayIcon上显示消息.经过一些固定的延迟后,这些任务必须重复执行,因此我研究并发现Swing Timers是一个不错的选择.然而,与此同时,这些任务可能非常耗时,而且我不希望GUI冻结或类似的东西(所以,为了满足这最后的要求,我应该使用工作线程).问题是工作线程不允许我以一些固定的延迟和"永远"执行这些任务.
我不知道如何解决这个,所以任何帮助将不胜感激:)