如何在C#中引入网站请求到网站的延迟?

时间:2011-01-01 18:39:30

标签: c# httpwebrequest delayed-execution

我向网站发出多个请求。如何在减慢进程的请求之间引入延迟?是否有一种方法允许我只是让线程在继续之前等待X秒?

2 个答案:

答案 0 :(得分:5)

您在寻找Thread.Sleep吗?

请注意,它会导致当前线程进入休眠状态 - 您不会在不同的线程中将其作为目标。但是如果你在一个线程中有一个循环,发出多个请求,你可以轻松地将它添加到循环中以限制你的请求率。

Sleep方法被重载 - 一个签名需要TimeSpan而另一个签名需要花费几毫秒。就个人而言,我通常更喜欢第一个,因为它没有留下任何歧义的余地。例如:

Thread.Sleep(TimeSpan.FromSeconds(2));

显然要求线程休眠2秒 - 而不是2分钟,2毫秒等。

答案 1 :(得分:1)

System.Threading.Thread.Sleep(x);

...其中x是线程休眠的毫秒数。

另一种方法是使用Timer并在每次Tick事件触发时执行请求。