我的系统使用大约40台计算机之间的UDP通信,其中大多数计算机包含多个连接到不同VLAN的网卡。 一些消息是多播的,一些是单播的。 大多数情况下,RECVFROM(非阻塞UDP)的时间是微秒,但有时它可以达到2到30毫秒。 这种行为可能是什么原因?
答案 0 :(得分:3)
我要走出困境,说你没有在RTOS上运行。因此,您的应用程序只是众多用户应用程序中的一个,它们都在争夺CPU。更可能发生的是另一个应用程序偷走了你的CPU,你不得不等待。
我强烈建议您阅读Linux调度程序。这是一个很好的起点:http://www.ibm.com/developerworks/library/l-completely-fair-scheduler/。