3
我有一个类读取一个http流文件。为比特率限制计算Thread.Sleep()
static long CurrentMilliseconds { get { return Environment.TickCount; } }
public void ReadFile()
{
...
while(true)
{
int r = stm.Read(buf, 0, bufSize);
if(r == 0) break;
...
int x= CalculateDelay()
Thread.Sleep(x);
}
}
比方说,我并行下载5个文件(该类运行5个实例),我想总码率< 800 kb/s的
我很难计算,延迟x。 任何帮助表示赞赏。
我不知道确切的步骤来做到这一点,但我会分解这个问题。你需要做的第一件事是找出每个实例的当前比特率,然后总结总数,然后检查总数与限制值。如果总数超过限制(800 kb/s),则延迟时间延长,延迟时间减少则减少延迟。 –