谁能用这2函数做个延时函数:CreateWaitableTimerA,SetWaitableTimer

.NET技术 > C# [问题点数:40分]
等级
本版专家分:0
结帖率 81.58%
zgqtxwd

等级:

C#延时函数使用

在线程中如果需要延时,尽量不要使用Sleep()函数,这样会导致时间片切到别的线程中。 使用如下函数:  //Delay function public static void Delay(int milliSecond) { int start = Environment.TickCount; ...

C# 高精度延迟代码执行时间(us/ns)

我们常用的延迟代码函数如Sleep,Thread.Sleep函数, 但是它们只允许输入毫秒,如果我们需求更高精度 如 纳秒(ns)/微秒(us)的延迟代码执行的时间 怎么去呢? 在上图我们可以看见有这样一传址参数 long ...

纳秒级延时实例。

HANDLE hTimer = NULL; LARGE_INTEGER liDueTime;...hTimer = CreateWaitableTimerA(NULL, TRUE, “myNsWait”); if (!hTimer) { return 0; } //设置相对时间为0.1毫秒。 liDueTime.Qu

SetWaitableTimer定时器的使用

使用SetWaitableTimer定时器前先了解一下几个函数: HANDLE CreateWaitableTimer(  LPSECURITY_ATTRIBUTES lpTimerAttributes, //安全描述符,可以为NULL   BOOL bManualReset, //是否为手动定时器,如果是...

搜集的一些关于CreateWaitableTimer的资料_等待定时器

通过异步程序调用(APC)实现的定时功能 ... 使用本定时器时,你需要把常量_WIN32_WINNT定义为0x0400,并且此常量应该在包之前定义,以确保声明合适的定时器原型函数。  通过调用CreateWaitableTimer()可以创

c# 延时 不占用cpu,窗口不卡死,不影响其它代码执行

实现方法是通过使用计时器,...这个引用需要手动导入,如果不需要考虑窗口卡死,可以去掉,不影响延时效果System.Windows.Formsusing System; using System.Runtime.InteropServices; using System.Windows.Forms;...

VB6.0超好用的延时函数弥补sleep的性能

Private Declare Function CreateWaitableTimer Lib "...CreateWaitableTimerA" (ByVal lpSemaphoreAttributes As Long, ByVal bManualReset As Long, ByVal lpName As String) As Long Private Decla...

CreateWaitableTimer和SetWaitableTimer函数

CreateWaitableTimer和SetWaitableTimer函数

VB中SetWaitableTimer函数与Sleep函数延时效果测试

VB中SetWaitableTimer和Sleep同为延时函数两款函数的延时效果怎么样了,这个小程序就是测试函数执行效果的,通过测...

关于精确控制FPS的程序框架

本文转自:...这个框架用到了两比较关键的函数: timeSetEvent,调用这个函数后,操作系统创建了一后台线程,这个线程由winmm.dll控制,按照指定的频率执行指定某函数或者将某个信号设置为“有信

VB SetWaitableTimer定时函数和Sleep延时函数实例对比.rar

实例代码演示VB SetWaitableTimer定时函数和 Sleep延时函数的延时效果对比,VB定时、延时函数大比拼,用SetWaitableTimer函数定时可以很流畅的拖动窗口,而Sleep函数时,会产生在延时期间窗口凝滞现象,不是我们...

Windows API编写一精确定时的循环

...问题原本是这个样子的,就是说,在一循环中执行一些操作后,需要Sleep这个函数,延迟一定时间后,在执行下一轮循环,伪代码如下: for(int i = 0; i < MaxCount;i++) {  dos...

放出几珍藏多年的延时函数(高低精度高低性能)

#include "stdafx.h" #include "delay.h" void DoEvents() { MSG msg; while (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) ... TranslateMessage(&msg

封装多媒体定时器类和时间核心对象线程类

虽然Win95下可视化开发工具如VC、Delphi、C++ Builder等都有专用的定时器控件Timer,而且使用很方便,可以实现一定的定时功能,但最小计时精度仅为55ms,且定时器消息在多任务操作系统中的优先级很低,不得到...

Windows实现高精度定时器的三种方法

前段时间一项目需要用到1/24s的高精度定时器,每秒的误差不超过10ms,大约41.666666666毫秒的延时,普通Sleep肯定是没办法满足的了,可以以下新的三种方法: /* // 1秒=1000毫秒(ms) // 1毫秒=1/1000秒(s)...

WINDOWS核心编程笔记(5-10)

第6章线程的基础知识理解线程是非常关键的,因为每进程至少需要一线程。与进程内核对象一样,线程内核对象也拥有属性,本章要介绍许多用于查询和... 一是线程的内核对象,操作系统它来对线程实施管理。内核对象

搜集的一些关于CreateWaitableTimer的资料_等待定时器(转载) 2010-12-14 11:11

通过异步程序调用(APC)实现的定时功能 ... 使用本定时器时,你需要把常量_WIN32_WINNT定义为0x0400,并且此常量应该在包之前定义,以确保声明合适的定时器原型函数。  通过调用CreateWaitableTimer()可以创

自己封装的多媒体定时器类和时间核心对象线程类

虽然Win95下可视化开发工具如VC、Delphi、C++ Builder等都有专用的定时器控件Timer,而且使用很方便,可以实现一定的定时功能,但最小计时精度仅为55ms,且定时器消息在多任务操作系统中的优先级很低,不得到...

高精度延时函数

1、以100纳秒为单位的延时函数: int NSSleep(int nsec) { HANDLE hTimer = NULL; LARGE_INTEGER liDueTime; liDueTime.QuadPart = -nsec; // Create a waitable timer. hTimer = CreateWaitableTimer(NULL,...

SetWaitableTimer时间不准

Windows API一日一练(66)CreateWaitableTimer和SetWaitableTimer函数

要想实现这些功能,就可以使用定时器的API函数CreateWaitableTimer和SetWaitableTimer来实现了,对API函数创建的时钟是比较精确的,可以达到100倍的10亿分之一秒。 函数CreateWaitableTimer和SetWaitabl

使用Sleep,如何让线程没任务时不占用CPU资源

//=========================================================================  // 函数名称: ...明: void 高精度延时,cpu占用低,窗口不卡死,一次最大可延时几年   //========================

VC++几种定时器使用方法的归纳

在游戏编写中,我遇到一现象:在连续按下

游戏引擎开发系列——消息循环篇

回讨论的话题主要集中到游戏引擎上来,目前国内游戏行业比较火爆,但是基础性的研究、技术资料都比较少,本人撰写这个系列,权当为产业尽绵薄之力。或者当做引玉之砖吧。 关于什么是游戏引擎,现在还是没有一...

游戏引擎开发系列——消息循环篇(渲染、IO、网络和音效等)

本文转自:http://gamebabyrocksun.blog.163.com/blog/static/571534632010219544464/ 写了很多关于IOCP和OLEDB的文章,今天换话题,不然... 回讨论的话题主要集中到游戏引擎上来,目前国内游戏行业比较火爆,但

简单的定时DDOS攻击样本分析

将样本载入到IDA内分析相关功能,来到入口函数Main出,程序首先调用了StartServiceCtrlDispatcherA启动了一名为MalService的服务,接着服务会执行函数sub_401040,启动完成服务后,会再次调用函数sub_401040,如下 ...

VB速查大全(数据库、表格及报表编程) ★ VB错误处理,ado常见错误,VB数据类型等,网上有很多教程是错的,...

vb数据类型(很多程序出问题出在这个,一定要看,VB msdn说的不太对) VB可用的AES加密sqlite_odbc 及 cairo_sqlite (VBRichClient自带的非odbc连接) 有vbRichClient代替winsock、实现vb多线程及远程调用activeX等

邢红瑞的blog--如何在控制台程序中使用定时器

导读: 是一看似简单,但是很复杂的问题,因为windows使用WM_TIMER,但是console下没有Hwnd,没有消息分发器,不象unix下可以alarm信号定时执行某个函数,不知道java是如何实现的。 想起masterz曾经给出过例子...

C# Task.Delay替代 Thread.Sleep()

可替代写法如下 public static void Sleep(int miniSeconds) { Task.Delay(miniSeconds).Wait(); } 或者如下面的代码: var sw = new Stopwatch(); sw.Start(); Task delay = Task.Delay(5000); C

抢茅台脚本以及使用方法

抢茅台的方法,里面有脚本文件和python的安装包,小白可以学习使用,大佬绕行吧,哈哈

相关热词 c#drawstring c# 操作 线程 c# ip post c# 调用嵌入的图片 c#获取数据源计算 c# 线程通信 c# 静态变量多线程 c# 内存溢出 c# 时间比对 matlab有c#接口吗