android开发中sleep() 与 wait()的区别是什么?
android开发中sleep() 与 wait()的区别是什么?
参考解答
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开发中的Activity生命周期是什么?保存activity的一些信息在哪个生命周期方法中?
Android中ListView图片异步加载实现思路是什么?
Android中ListView图片异步加载实现思路是什么?
Android的缓存机制是怎样的?
Android的缓存机制是怎样的?
android中XML解析有哪几种?各自优缺点是什么?
android中XML解析有哪几种?各自优缺点是什么?
Android程序入口如何判断?
Android程序入口如何判断?
