C#中sleep和wait的区别分析

作者:乐乐010 时间:2021-09-11 08:31:25 

本文较为详细的分析了C#中sleep和wait的区别。分享给大家供大家参考。具体分析如下:

sleep和wait都是使线程暂时停止执行的方法,但它们有很大的不同。

①. sleep是线程类Thread 的方法,它是使当前线程暂时睡眠,可以放在任何位置。

而wait是Object类的方法,它是使当前线程暂时放弃对象的使用权进行等待,必须放在同步方法或同步块里。

②. Sleep使用的时候,线程并不会放弃对象的使用权,即不会释放对象锁,所以在同步方法或同步块中使用sleep,一个线程访问时,其他的线程也是无法访问的。

而wait是会释放对象锁的,就是当前线程放弃对象的使用权,让其他的线程可以访问。

③. 线程执行wait方法时,需要另一个线程调用notify进行唤醒。

而sleep只是暂时休眠一定时间,时间到了之后,自动恢复运行,不需另外的线程唤醒。

希望本文所述对大家的C#程序设计有所帮助。

标签:C#,sleep,wait,区别
0
投稿

猜你喜欢

  • java synchronized的用法及原理详解

    2023-07-17 04:42:54
  • jdk8使用stream实现两个list集合合并成一个(对象属性的合并)

    2023-08-05 16:49:30
  • Java Unsafe类实现原理及测试代码

    2023-03-10 21:18:13
  • Idea打包springboot项目没有.original文件解决方案

    2022-07-12 20:06:08
  • android6.0权限动态申请框架permissiondispatcher的方法

    2023-07-31 10:51:57
  • JavaEE组件commons-fileupload实现文件上传、下载

    2022-11-13 13:54:20
  • C#设计模式之工厂模式

    2023-07-10 13:43:33
  • Fluent Mybatis零xml配置实现复杂嵌套查询

    2022-02-03 19:34:32
  • springBoot service层事务控制的操作

    2022-02-01 12:39:40
  • C#使用XML序列化操作菜单的方法

    2022-08-03 08:54:34
  • spring boot executable jar/war 原理解析

    2022-10-13 18:30:09
  • 【IntelliJ IDEA】Maven构建自己的第一个Java后台的方法

    2023-09-24 20:11:16
  • spring+srpingmvc+hibernate实现动态ztree生成树状图效果

    2022-07-21 21:41:59
  • MyBatis数据脱敏的实现方案介绍

    2021-10-06 19:22:34
  • spring boot如何实现切割分片上传

    2023-06-29 02:49:26
  • C# 如何调用SAP RFC

    2023-07-02 18:11:42
  • C#识别出图片里的数字和字母

    2023-04-12 08:21:41
  • Java基于链表实现栈的方法详解

    2022-07-02 11:39:20
  • C#特性-对象集合初始化器介绍

    2023-05-27 18:26:29
  • 常见JavaWeb安全问题和解决方案

    2023-11-09 01:02:17
  • asp之家 软件编程 m.aspxhome.com