java中多线程常见的几个参数,java wait和sleep的区别
java中多线程常见的几个参数
1、java中多线程常见的几个参数:
2、sleep:在指定的毫秒数内让当前正在执行的线程休眠(暂停执行).
3、此操作受到系统计时器和调度程序精度和准确性的影响。
4、该线程不丢失任何监视器的所属权。
5、调用sleep的时候锁并没有被释放。
6、Java SE5引入了更加显示的sleep()作为TimeUnit类的一部分,这个方法允许你指定sleep()延迟的时间单元,因此可以提供更好的可阅读性。
7、wait:调用wait使线程挂起,直到线程得到了notify或notifyAll消息,线程才会进入就绪状态。
8、使你可以等待某个条件发生变化,而改变这个条件超出了当前方法的控制能力。
9、线程的执行被挂起,对象上的锁被释放。
10、意味着另一个任务可以获得这个锁。
11、因此在该对象中的其他synchronized方法可以在wait期间被调用。
java wait和sleep的区别
1、同步锁的对待不同:
2、sleep()后,程序并不会不释放同步锁。
3、wait()后,程序会释放同步锁。
4、用法的不同:
5、sleep()可以用时间指定来使他自动醒过来。
6、如果时间不到你只能调用interreput()来强行打断。
7、wait()可以用notify()直接唤起。
8、属于不同的类:
9、sleep()的类是Thread。
10、wait()的类是Object。
声明:图文来源于互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系网站客服,一经查实,本站将立刻删除。