iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#中的延时函数sleep
  • 456
分享到

C#中的延时函数sleep

2024-04-02 19:04:59 456人浏览 独家记忆
摘要

目录C#延时函数sleepsleepC#延时函数,不止sleep函数关于Math.Abs()其他用C#中的线程来实现C#延时函数sleep sleep using System.Th

C#延时函数sleep

sleep

using System.Threading;  //导入命名空间,类Thread就在此空间中
Thread.Sleep(2000); //延时2s

C#延时函数,不止sleep函数

在C#窗口程序中,如果在主线程里调用Sleep,在Sleep完成之前, 界面呈现出假死状态,不能响应任何操作!

下边实现的是非独占性延时函数,延时过时中界面仍可响应消息:

public static void Delay(int milliSecond)
{
    int start = Environment.TickCount;
    while (Math.Abs(Environment.TickCount - start) < milliSecond)
    {
        Application.DoEvents();
    }
}

关于Math.Abs()

Environment.TickCount,内部api是用DWord GetTickCount()来实现的,该属性的值从系统计时器派生,并以 32 位有符号整数的形式存储。

因此,如果系统连续运行,TickCount 将在约 24.9 天内从零递增至 Int32. MaxValue ,然后跳至 Int32. MinValue (这是一个负数),再在接下来的 24.9 天内递增至零。

DWORD是无符号的,而 Environment.TickCount属性返回的值是有符号的,所以有一半的值用负数表示!

其他

1.用sleep()使线程休眠。

直接在需要延时的地方插入 System.Threading.Thread.Sleep(1000); 即可。

这种方式最方便,但是延时过程中会停止其他响应,如果用在主线程中会造成程序的假死。如果有异步操作的话也会暂停,例如用WEBBrowser加载网页,本来希望延时一段时间等待网页加载完毕,但用sleep的话同时会暂停网页的加载过程。

用Thread和Timer控件都可以实现,如果用Timer_Tick(…)的话,因为不能在其他函数中调用Timer_Tick(…),所以用起来不方便,其实这两种都是用到了线程,微软推荐的方法是用委托。

用C#中的线程来实现

using System.Threading;//引入命名空间

1.延时10ms代码为:

Thread.Sleep(10);

2.延时1s代码为:

Thread.Sleep(1000);

平时我们在做winform开发的时候,有时候需要让程序休眠几秒钟,但是,如果我们直接使用 thread.sleep()函数,页面ui就会停止响应。

怎么样解决呢,你可以把页面涉及到表现ui的代码放到一个单线程处理,也可以采用我下面的做法,加一个小函数ok了。

/// <summary>
        /// 延时函数
        /// </summary>
        /// <param name="delayTime">需要延时多少秒</param>
        /// <returns></returns>
        public static bool Delay(int delayTime)
        {
            DateTime now = DateTime.Now;
            int s;
            do
            {
                TimeSpan spand = DateTime.Now - now;
                s = spand.Seconds;
                Application.DoEvents();
            }
            while (s < delayTime);
            return true;
        }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C#中的延时函数sleep

本文链接: https://www.lsjlt.com/news/150994.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中的延时函数sleep
    目录C#延时函数sleepsleepC#延时函数,不止sleep函数关于Math.Abs()其他用C#中的线程来实现C#延时函数sleep sleep using System.Th...
    99+
    2024-04-02
  • C#中的延时函数sleep怎么使用
    本篇内容介绍了“C#中的延时函数sleep怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#延时函数sleepsleepusing&...
    99+
    2023-07-02
  • C#中的一些延时函数
    C#一些延时函数 sleep延时方法 System.Threading.Thread.Sleep(1000); //毫秒 实现的是非独占性延时函数,延时过时中界面仍可响应消息: pu...
    99+
    2024-04-02
  • C#中的延时函数怎么使用
    本篇内容主要讲解“C#中的延时函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#中的延时函数怎么使用”吧!C#一些延时函数sleep延时方法System.Threading.Thre...
    99+
    2023-07-02
  • C#延时函数的使用说明
    目录C#延时函数使用C#3个延时函数 C#延时函数使用 在线程中如果需要延时,尽量不要使用Sleep()函数,这样会导致时间片切到别的线程中。 使用如下函数:  ...
    99+
    2024-04-02
  • VB.NET中如何使用延时函数
    这篇文章给大家介绍VB.NET中如何使用延时函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Threading.Thread.Sleep(3000)   Application.DoEvents(...
    99+
    2023-06-17
  • 在 PHP 中使用 sleep() 函数
    本文将介绍 PHP 中 sleep 功能的实际实现。PHP 中的 sleep() 函数PHP 的 sleep() 函数用于将执行延迟指定时间。它接受一个将时间作为整数而不是负值的参数。该函数在成功时返回 0...
    99+
    2024-02-27
  • c语言sleep函数有什么作用
    C语言中的`sleep()`函数用于使程序在一定的时间间隔内暂停执行。它接受一个参数,表示需要暂停的秒数(可以是浮点数,表示毫秒)。...
    99+
    2023-10-11
    c语言
  • oracle中sleep函数的用途有哪些
    在Oracle数据库中,没有内置的sleep函数。通常可以使用DBMS_LOCK.SLEEP过程来实现类似的功能,该过程可以让会话休...
    99+
    2024-04-09
    oracle
  • linux中sleep函数的用法是什么
    在Linux中,sleep函数用于暂停程序的执行一段时间,以毫秒为单位。使用方式如下:```C#include unsigned i...
    99+
    2023-08-09
    linux sleep
  • oracle中sleep函数怎么使用
    在Oracle数据库中,没有内置的SLEEP函数来使查询暂停一段时间。但是,您可以使用以下方法来实现类似的效果: 使用DBMS_L...
    99+
    2024-04-09
    oracle
  • vb中sleep函数如何使用
    在VB中,可以使用`Threading.Thread.Sleep`函数来使程序暂停指定的时间。以下是使用`Threading.Thr...
    99+
    2023-09-27
    vb
  • python怎么设置延时函数
    在python中使用sleep函数设置延时函数,具体方法如下:sleep:sleep()函数的作用是用于推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。sleep()函数语法:time.sleep(t)参数:t:推迟执行的...
    99+
    2024-04-02
  • C语言的sleep、usleep、nanosleep等休眠函数的使用
    目录引子(一) sleep 函数sleep 函数的用法sleep 函数的返回值sleep 函数的参数(二) usleep 函数usleep 函数的用法usleep 函数的返回值usl...
    99+
    2023-03-09
    C语言 sleep usleep nanosleep
  • JavaScript sleep睡眠函数的使用
    目录1.sleep函数2. setTimeout3.Promise 4. async await5. 1s后输出1 2s后输出2 3s后输出3参考文章:1.sleep函数 Java...
    99+
    2024-04-02
  • 聊聊PHP中die()和sleep()函数的用法
    在上一篇《聊聊PHP中删除字符串的逗号和尾部斜杠的方法》给大家介绍了PHP删除字符串中的逗号以及尾部斜杠的方法,感兴趣的朋友可以去学习了解一下~ 本文也将给大家通过示例来讲解标题所述...
    99+
    2024-04-02
  • 在MySQL中使用sleep函数时需要注意哪些事项
    在MySQL中使用sleep函数时需要注意哪些事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言MySQL中的系统函数sl...
    99+
    2024-04-02
  • linux 的sleep()、usleep()、nanosleep()函数的区别
    sleep()、usleep()和nanosleep()函数是Linux下用于延时的函数,它们之间的区别如下:1. sleep()函...
    99+
    2023-09-16
    linux
  • PHP sleep()函数的用法是什么
    PHP中的sleep()函数用于让脚本在指定的时间内暂停执行。可以通过指定暂停的秒数来控制暂停的时间。该函数常用于模拟耗时操作、限制...
    99+
    2023-10-11
    PHP
  • C语言的sleep、usleep、nanosleep等休眠函数如何使用
    这篇文章主要讲解了“C语言的sleep、usleep、nanosleep等休眠函数如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言的sleep、usleep、nanosleep等...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作