我们可以在Java线程中将参数传递给wait()吗

时间:2018-08-17 05:13:46

标签: java multithreading

在Java中,我们调用Thread.sleep(10000)来中断线程,如果调用wait,那么直到我们调用notify()时,线程都会进入睡眠状态。但是最近我看了一篇文章,说可以将参数传递给wait( )。因此,如果我们可以传递它并使其等待预定的时间,那么Thread.sleep(1000)和connections.wait(3000)有什么区别。下面是我经过的链接

https://www.javamex.com/tutorials/synchronization_wait_notify_2.shtml 

有人可以解释这种情况吗?我真的很困惑。

1 个答案:

答案 0 :(得分:1)

wait 中,您必须使用 notify 唤醒线程,而 sleep 不能被唤醒。另外,wait()是一个非静态函数,sleep是一个静态函数。

我强烈建议您阅读:

https://javarevisited.blogspot.com/2011/12/difference-between-wait-sleep-yield.html

Difference between wait() and sleep()

他们都以一种精通的方式解释了wait()和sleep()之间的区别,从而使其很容易理解。