当使用单线程循环时,我很容易通过使线程进入睡眠状态(即Thread.Sleep(1000/MessagesPerSecond)
)来限制每秒发送的消息,这很容易......但是现在我已经扩展到并行线程,这不再正常工作。
有没有人建议如何限制使用并行线程时发送的消息?
Parallel.For(0, NumberOfMessages, delegate(int i) {
// Code here
if (MessagesPerSecond != 0)
Thread.Sleep(1000/MessagesPerSecond);
});