Object类

Object类

1.Object类是所有Java类的根父类
2.如果类的声明中未使用extends关键字指明其父类,则默认父类为Java.lang.Object类
3.Object类
        属性:无
        方法:equals()、toString()、getClass()、hashcode()、clone()、finalize()、wait()、notify()、notifyAll()
4.万物皆对象,除8种数据类型以外都是Object的子类 

 wait()、notify()、notifyAll()

参考

  1. notify():可以唤醒一个在该对象上等待的线程
  2. notifyAll():唤醒所有在该对象上等待的线程
  3. wait():是指在一个已经进入了同步锁的线程内,让自己暂时让出同步锁,以便其他正在等待此锁的线程可以得到同步锁并运行,只有其他线程调用了notify方法(notify并不释放锁,只是告诉调用过wait方法的线程可以去参与获得锁的竞争了,但不是马上得到锁,因为锁还在别人手里,别人还没释放),调用wait方法的  一个或多个线程就会解除wait状态,重新参与竞争对象锁,程序如果可以再次得到锁,就可以继续向下运行 

wait()、sleep()区别 

 1.wait()
    ①:属于Object类,一旦一个对象调用了wait(),必须用notify()、notifyAll()唤醒该线程
    ②:会释放锁,线程进入等待池,释放CPU
    ③:不需要捕获异常
    ④:wait()、notify()、notifyAll()需要在同步代码中使用
2.sleep()
    ①:属于Thread类,线程调用sleep()后,进入其他阻塞状态,睡眠结束后进入就绪态
    ②:会暂时释放CPU,但不会释放锁
    ③:需要捕获异常
    ④:可以在任何地方使用

上一篇:话说 wait、notify 、 notifyAll


下一篇:以太网帧结构