线程

1. sleep()和wait()方法的区别?

sleep让线程休眠指的时间,到时间线程会自动醒来

wait让线程处于等待的状态,线程不会自动醒来,必须被唤醒。//notify(),notifyAll()

2. wait(),notify(),notifyAll(),为什么定义到Object类中,而不是定义在Thread类中?//拓展:多线程的等待唤醒机制:让线程有规律的执行。      

因为锁对象是任意类型的对象,所以这三个方法必须定义到类中,可以让所有的锁对象都具有此功能。

3. 线程的资源调度模型

分时调度模型:均分时间片

抢占式调度模型:谁抢到谁执行

4. 同步代码块和同步方法的锁对象

同步代码块:锁对象可以是类型的对象,必须是同一把锁,否则可能锁不住的情况

同步方法:

静态同步方法:该类的字节码对象

非静态同步方法:this

5. Lock锁和Syschronized

Lock是接口,lock用完不会自动释放锁

原文地址:https://www.cnblogs.com/qidi/p/11737437.html