连续调用wait(millisec)会让线程等待更长时间吗?

时间:2013-10-04 14:13:37

标签: java multithreading concurrency

如果我一直在线程上调用wait(1000),那么它会等待更长时间还是只等待1000毫秒?

我的意思是,如果我第一次称呼它,然后第二次,它会使它等待2000毫秒或只是1000?

1 个答案:

答案 0 :(得分: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)。我认为这可能是你真正想要使用的东西。