并发编程2

一、sleep和wait的区别

     1.sleep方法是属于Thread类,wait方法属于Object对象。

  2.sleep方法挂起线程重新等待cpu但是不释放锁。wait方法挂起的线程会释放持有的锁。

  3.sleep挂起线程等待时间结束后会参与cpu的竞争,wait方法挂起线程需要等待notify()/notifyAll()唤醒后才能参与锁的竞争。

二、satrt与run的区别

  1.start方法真正的启动线程,让线程从new状态进入runnable状态。run方法是线程的普通方法,在线程启动后会由新创建的线程执行该方法。也可以当做普通方法直接调用。

三、java守护线程Daemon

  1.守护线程的优先级较低。

  2.可以在线程启动之前设置线程的Daemon属性,将线程设置为守护线程。线程启动后不支持设置该值。

  3.在Daemon线程中创建的线程也是Daemon线程。

  4.Daemon线程与系统同生共死,当系统的全部用户线程终止后守护线程自动终止。

posted @ 2021-11-18 10:31  democ  阅读(36)  评论(0)    收藏  举报