Java多线程中调用wait() 和 sleep()方法有什么不同?

提问者:帅平 问题分类:面试刷题

Java多线程中调用wait() 和 sleep()方法有什么不同?

1 个回答
Rae
Rae 管理员

Java程序中wait 和 sleep都会造成某种形式的暂停,它们可以满足不同的需要。wait()方法用于线程间通信,如果等待条件为真且其它线程被唤醒时它会释放锁,而sleep()方法仅仅释放CPU资源或者让当前线程停止执行一段时间,但不会释放锁。需要注意的是,sleep()并不会让线程终止,一旦从休眠中唤醒线程,线程的状态将会被改变为Runnable,并且根据线程调度,它将得到执行。

发布于:1个月前 (10-20)
我来回答