android开发中sleep() 与 wait()的区别是什么?

IT互联网 已帮助: 时间:2025-04-12 08:40:15

android开发中sleep() 与 wait()的区别是什么?

难度:⭐⭐⭐

题库:IT/互联网,软件开发

标签:区别,android,sleep

参考解答

用户头像

432***125

2025-04-12 08:40:15

1.这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object

类。

2.最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可

以使用同步控制块或者方法。sleep不出让系统资源;wait是进入线程等待池

等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,

因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用

notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS分配系

统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到

只能调用interrupt()强行打断。

3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而

sleep可以在任何地方使用

4. Sleep需要捕获异常,而wait不需要


上一篇 android开发中的Activity生命周期是什么?保存activity的一些信息在哪个生命周期方

下一篇 android开发中线程有几种状态 分别是哪些?

相似问题