校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > wait()、notify()和notifyAll()
题目

下列关于java 中的 wait()方法和 sleep()方法的区别描述错误的是?

A. wait()方法属于Object类,sleep()属于Thread类

B. 调用wait()方法的时候,线程会放弃对象锁

C. 调用sleep()方法的过程中,线程不会释放对象锁

D. sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程

解答

正确答案:D

sleep和wait的区别有:

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

2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。

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

任何地方使用

synchronized(x){
      x.notify()
     //或者wait()
}

4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常

C 2条回复 评论
meow

6666666

发表于 2018-11-19 11:42:14
0 0
meow

厉害(ง •̀_•́)ง

发表于 2018-11-19 11:41:14
0 0