线程中 Sleep/Wait,Start/Run 的区别

435 阅读1分钟

Sleep 和 Wait

  • Sleep是属于Thread类的,wait是属于Object类的
  • 调用sleep时,线程不会释放对象锁
  • 调用wait时,线程会放弃对象锁,进入此对象的锁等待池。只有调用notify方法后才能唤醒

Start 和 Run

  • Start用来启动线程,调用后线程只是进入准备状态,并没有真正的运行
  • Run又称为线程体,包含了要执行的线程内容,调用后线程就进入了真正的运行状态