我今天发现了一些代码,这些代码已添加到网站的 登录后期操作 中。
System.Threading.Thread.Sleep(3000); //slow down bots
(值得注意的是,在强制用户点击页面之前,应用程序已经限制了失败的尝试。)
我想知道睡觉系统线程是否实际上正在做评论建议的内容,减慢机器人试图访问该网站的速度?
如果这确实减慢了机器人的速度,它是否足够有效,值得实施?
感谢。
答案 0 :(得分:2)
Thread.Sleep
在服务器软件中没有位置,并且它的使用会导致ThreadPool饥饿,导致其他无关的请求由于ThreadPool创建新线程的惰性而变得迟缓。
如果你真的想要无所事事,那就异步做吧。我不明白为什么这可能会有所帮助。如果您的网页请求缓慢投放,您会被某些搜索引擎标记下来。
答案 1 :(得分:1)
不,它不会。原因是机器人端的登录请求(可能)是异步的。发送请求后,机器人只需释放他的线程并继续运行,直到服务器响应。
另一方面,您正在锁定自己的线程,等待,而不是处理来自合法用户的其他请求。你基本上是在脚下射击自己。