我向网站发出多个请求。如何在减慢进程的请求之间引入延迟?是否有一种方法允许我只是让线程在继续之前等待X秒?
答案 0 :(得分:5)
您在寻找Thread.Sleep
吗?
请注意,它会导致当前线程进入休眠状态 - 您不会在不同的线程中将其作为目标。但是如果你在一个线程中有一个循环,发出多个请求,你可以轻松地将它添加到循环中以限制你的请求率。
Sleep
方法被重载 - 一个签名需要TimeSpan
而另一个签名需要花费几毫秒。就个人而言,我通常更喜欢第一个,因为它没有留下任何歧义的余地。例如:
Thread.Sleep(TimeSpan.FromSeconds(2));
显然要求线程休眠2秒 - 而不是2分钟,2毫秒等。
答案 1 :(得分:1)
System.Threading.Thread.Sleep(x);
...其中x
是线程休眠的毫秒数。
另一种方法是使用Timer
并在每次Tick
事件触发时执行请求。