java中多线程常见的几个参数,java wait和sleep的区别

作者头像
留香
回答于 2023-03-25 03:20:13 阅读 421
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。

声明:图文来源于互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系网站客服,一经查实,本站将立刻删除。

最新推荐