我正在C#中编写UDP多播客户端/服务器对,我需要50-100μsec(微秒)的延迟来限制服务器传输速率.这有助于避免重大数据包丢失,还有助于防止磁盘I/O绑定的客户端过载.请不要建议Thread.Sleep或Thread.SpinWait.我不会问我是否需要其中任何一个.
我的第一个想法是使用某种高性能计数器,然后做一个简单的while()循环来检查已用时间,但我想避免这种情况,因为它感觉很笨拙.那不会也会占用服务器进程的CPU利用率吗?
跨平台解决方案的奖励积分,即不是Windows特定的.先谢谢你们!