线程
1. sleep()和wait()方法的区别?
sleep让线程休眠指的时间,到时间线程会自动醒来
wait让线程处于等待的状态,线程不会自动醒来,必须被唤醒。//notify(),notifyAll()
2. wait(),notify(),notifyAll(),为什么定义到Object类中,而不是定义在Thread类中?//拓展:多线程的等待唤醒机制:让线程有规律的执行。
因为锁对象是任意类型的对象,所以这三个方法必须定义到类中,可以让所有的锁对象都具有此功能。
3. 线程的资源调度模型
分时调度模型:均分时间片
抢占式调度模型:谁抢到谁执行
4. 同步代码块和同步方法的锁对象
同步代码块:锁对象可以是类型的对象,必须是同一把锁,否则可能锁不住的情况
同步方法:
静态同步方法:该类的字节码对象
非静态同步方法:this
5. Lock锁和Syschronized
Lock是接口,lock用完不会自动释放锁