gpt4 book ai didi

android - 等待信号量循环时的 SystemClock.sleep() 与 Thread.sleep()

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:23:45 39 4
gpt4 key购买 nike

为了同步/排队访问共享资源,我将使用 Semaphore ,在等待循环的帮助下。

为了不遇到 CPU Hook ,我想在 while 循环中稍微sleep()

我搜索了 http://developer.android.com引用并找到了两个这样的 sleep() 函数,我很困惑哪个适合哪个场景:

  1. Thread.sleep()
  2. SystemClock.sleep()

哪个更适合我描述的情况,为什么?

最佳答案

首先,你真的需要等待循环吗?您通常可以使用适当的通知来解决您的问题,即拥有一个对象,在其上调用 wait()notify() 或其他方式(如阻塞队列,或 Semaphore.acquire() 在你的情况下)。

就是说,如果您真的想要轮询循环(除非万不得已,否则您真的不应该这样做),我会坚持使用 Thread.sleep()。如文档所述,除了您可以选择中断 Thread.sleep() 外,没有太大区别。不要让自己放弃这样做的选择。

请注意,在 Thread.sleep() 的情况下,您将不得不捕获该异常 - 如果您非常懒惰,您可能会坚持使用 SystemClock。 sleep ()

关于android - 等待信号量循环时的 SystemClock.sleep() 与 Thread.sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837910/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com