在 AWS lambda java 中使用 Thread.sleep 是个好主意吗

Kai*_*war 3 java amazon-web-services aws-lambda aws-serverless

我正在将 AWS Lambda 与 Java 编程语言结合使用,由于某些要求,我必须在 lambda 函数中休眠 2-3 秒,或者在某些情况下长达 12 秒,将 Thread.sleep() 放入 lambda 函数中是个好主意还是它会产生任何技术后果。

Evd*_*afa 5

在极少数情况下,执行 Thread.sleep 是合理的。

  • 每隔几秒轮询一次并检查不受代码控制的某些状态是否已更改。例如,考虑检查某处的远程进程是否已完成。
  • 您想要模拟某些代码,以便它“花费”比实际更多的时间。
  • 减少每秒执行多个操作的代码片段。例如,从远程服务器请求多个资源,但限制您的请求,以免超载。

我相信还有很多更合理的理由。不要害怕让你的代码休眠。确保你睡觉是有正当理由的。还要确保您的线程模型(您确实需要在代码中休眠)不会导致死锁

请注意,在 AWS Lambda 中运行时,您应该将睡眠优化为尽可能少的量,因为您要为宝贵的 CPU 时间付费。