【问题标题】:Do successive calls to wait(millisec) make a thread wait longer? [closed]连续调用 wait(millisec) 会使线程等待更长时间吗? [关闭]
【发布时间】:2013-10-04 14:13:36
【问题描述】:

如果我继续在线程上调用 wait(1000),这会使其等待更长时间还是只等待 1000 毫秒?

我的意思是,如果我第一次调用它,然后第二次调用它,它会等待 2000 毫秒还是只等待 1000 毫秒?

【问题讨论】:

  • 为什么你认为调用wait()时它不会等待?
  • 使用更高的值并自己尝试。
  • 你读过Object.wait(...)上的javadocs吗?你做了什么研究?

标签: java multithreading concurrency


【解决方案1】:

对 Object.wait(int millis) 的调用最多会阻止执行 n 毫秒。第二次调用最多再次阻塞相应的时间,因此,

obj.wait(1000);
obj.wait(1000);

让您的程序最多等待 2 秒。阅读 JavaDoc 以了解在哪些条件下可以缩短时间。

但是,我不确定您是否真的想使用 wait()。阅读about the intended usage of wait()。也许你应该看看 Thread.sleep(int millis)。我认为这可能是您真正想要使用的。

【讨论】:

    猜你喜欢
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多