首页 > 其他分享 >wait()和sleep()的区别

wait()和sleep()的区别

时间:2022-10-08 15:23:15浏览次数:48  
标签:调用 区别 对象 线程 notify sleep wait

一、sleep()和wait()的区别

1、相同点 sleep()和wait()都可以暂停线程的执行。 2、不同点 所在类不同 sleep()是Thread类的静态方法。 wait()是Object类的方法。

锁释放不同
sleep()是不释放锁的。
wait()是释放锁的。

用途不同
sleep()常用于一定时间内暂停线程执行。
wait()常用于线程间交互和通信。

用法不同
sleep()方法睡眠指定时间之后,线程会自动苏醒。
wait()方法被调用后,可以通过notify()或notifyAll()来唤醒wait的线程。

二、使用wait(),notify(),notifyAll()的注意事项

当一个线程需要调用对象的wait0方法的时候,这个线程必须拥有该对象的锁,接着它就会释放这个对象锁并进入等待状态直到其他线程调用这个对象上的notify()方法。 同样的,当—个线程需要调用对象的 notity()方法之前,也要先获得对象锁,执行完毕后,释放这个对象的锁,以便其他在等待的线程就可以得到这个对象锁。由于所有的这些方法都需要线程持有对象的锁,这样就只能通过同步来实现,所以他们只能在同步方法或者同步块中被调用。

三、wait()和notify()的工作原理

如果线程A1,A2,A3,A4都调用了obj.wait()方法,那么它们就会进入obj对象的等待队列。当obj.notify()被调用的时候,会从等待队列中随机选择一个线程并将其唤醒。而如果调用obj.notifyAll(),则会唤醒等待队列中的所有等待线程

标签:调用,区别,对象,线程,notify,sleep,wait
From: https://www.cnblogs.com/zixiaolan/p/16769040.html

相关文章

  • TCP和UDP的联系和区别
    一、联系   TCP/IP 是互联网相关的各类协议族的总称,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等都属于 TCP/IP 族内的协议。二、区别   1、TCP面向连接,UDP是无连接的,即......
  • qtreeview和qtreewidget的区别 使用总结 和选择
    这里指出3种方式的比较,说是3中编程架构也行,其实不仅仅针对tree显示结构,对table,list等同样适用。直接用qtreewidget,使用例子​​qtreeview和qtreewidget[ansys简单示例]-Java......
  • 1: TCP与UDP的联系与区别 2:网络字节序与主机字节序的转换函数实践。
    第一问:TCP/IP协议是一个协议簇,里面包括很多协议的,UDP只是其中的一个,之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,......
  • java--基本类型值传递,和引用类型String,数组的区别
    //java语言:值传递//数据类型:基本类型:4种8类,参数传递:值传递//引用类型:String数组等,传递的是内存地址值,但String值不会改变,相当于常量池的数据重新给它赋值//参数类......
  • APS 与 MES 的区别是什么?
    APS与MES是两个不同的系统,所以不存在区别之说,但MES的生产计划排程可以由APS来提供,MES需要在"工厂各类生产资源条件"约束下对"接收自企业(ERP)的生产计划"进行工厂级的做"有......
  • TCP和UDP的区别和联系
    UDP与TCP的联系与区别:1、联系首先,这两个都是运输层协议;都是建立在ip之上的TCP叫做流式套接字,UDP是报文套接字为什么要在IP之上?  2、区别tcp基于连接、UDP......
  • CNC加工中心中几组常用指令的区别及编程技巧
    随着科技的发展和社会的进步,人们对产品的性能和质量要求越来越高,从而使数控机床应用已得到一定程度的普及,而高性能高效率的加工中心也逐渐成为社会所需。通过几年的加工中心......
  • Tensor和tensor的区别
    参考链接:https://blog.csdn.net/tfcy694/article/details/85338745https://blog.csdn.net/m0_52650517/article/details/120456732......
  • TCP与UDP的联系与区别
    TCP(TransmissionControlProtocol,传输控制协议)他是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。这说明TCP连接是一个非常复杂的过程,需要进行“三......
  • SAP UI5 控件库里 Form 控件和 SimpleForm 控件的区别和联系讲解试读版
    一套适合SAPUI5初学者循序渐进的学习教程本专栏计划的文章数在​​300​​​篇左右,到​​2022年9月22日​​​为止,目前已经更新了​​133​​​篇,专栏完成度为​......