多线程中sleep()和wait()方法有什么区别呢?
下文笔者讲述多线程中sleep()和wait()方法的区别说明,如下所示
sleep()和wait()方法的功能
sleep()和wait()方法都可用于暂停线程运行 调用此方法时 都会抛出InterruptedException异常
sleep()和wait()方法的区别
区别1:两个方法所属类不同 sleep()是Thread线程类静态方法 wait()是Object类方法 区别2:是否释放锁 sleep()不释放锁 wait()释放锁 区别3:功能不同 sleep()通常被用于暂停线程执行 wait()方法通常被用于线程间交互/通信 区别4:用法不同 sleep() 方法执行完成后,线程会自动苏醒 wait()方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的 notify() 或notifyAll()方法或可以使用wait(long timeout)超时后线程会自动苏醒
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。