【校招VIP】java语言考点之wait、notify和notifyAll

发布于:2023-01-04 ⋅ 阅读:(317) ⋅ 点赞:(0)

考点介绍:

wait、notify和notifyAll在大厂校招面试中是常考点,这三个方法由于需要控制对对象的控制权(monitor),所以属于Object而不是属于线程,三者间的区别及使用方法等都需要熟练掌握。

本期分享的java语言考点之wait、notify和notifyAll,分为试题、文章以及视频三部分。

答案详情解析和文章内容点击下方链接即可查看!

一、考点题目

1. wait()和sleep()的区别

解答:sleep来自Thread类,和wait来自Object类,调用sleep()方法的过程中,线程不会释放……

2. Notify和notifyAll的区别(阿里面试题)

解答:由图可知。进入等待队列后,会由notify或notifyAll唤醒 当你调用notify时,只有一个等待线程会被唤醒而且……

3.为什么 wait(), notify()和 notifyAll()必须在同步方法或者同步块中被调用?

解答:Java中,任何对象都可以作为锁,并且 wait(),notify()等方法用于等待对象的锁或者唤醒线程,在 Java 的线程中并没有可供任何对象使用的锁,所以……

4.wait/notify会带来哪些问题?

解答:过早唤醒问题,等待线程W和通知线程N都为同步对象someObject锁线程,如果通知线程N3更新好了共享变量,调用notifyall通知唤醒所有……

点击查看答案哦

二、考点文章

1.Java多线程学习之wait、notify/notifyAll 详解

wait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。wait()使当前线程阻塞,前提是 必须先获得锁,一般配合......

2.notify() 和 notifyAll() 有什么区别?

先解释两个概念。等待池:假设一个线程A调用了某个对象的wait()方法,线程A就会释放该对象……

3.Java的wait(), notify()和notifyAll()使用小结

wait(),notify()和notifyAll()都是java.lang.Object的方法:wait(): Causes the current thread to wait until another thread

三、考点视频

1.多线程中sleep()和wait()方法的区别

所属类不同,sleep是线程类Thread的静态方法,wait是object类的普通方法……

 


网站公告

今日签到

点亮在社区的每一天
去签到