21.77 KB, 下载次数: 101, 下载积分: 无忧币 -2
原帖由 老毛桃 于 2006-10-20 10:39 AM 发表
第一个下!支持。
原帖由 hahahei 于 2006-10-20 10:40 发表
我问下,需不需要指定延迟时间,比如30秒或者什么的?
原帖由 老毛桃 于 2006-10-20 10:51 AM 发表
var StartTime: Cardinal;
begin
StartTime := GetTickCount;
repeat
Windows.Sleep(200);
until ((GetTickCount - StartTime) > TimeToWait);
end;
有一点需要请教一下,既然我们默认的延时 ...
原帖由 lxl1638 于 2006-10-20 10:30 AM 发表
不明一点,为什么这个比VC做的还小很多 ...
原帖由 asbai 于 2006-10-20 11:11 AM 发表
呵呵,兄台辛苦了。这个问题嘛,嘿嘿,就好像两个程序,调 printf 输出 “Hellow World” 的版本比直接调操作系统 API (例如:WriteConsole)输出同样字符串的版本体积要大是一样的:
1. printf 的功能远远不 ...
原帖由 老毛桃 于 2006-10-20 10:51 AM 发表
var StartTime: Cardinal;
begin
StartTime := GetTickCount;
repeat
Windows.Sleep(200);
until ((GetTickCount - StartTime) > TimeToWait);
end;
有一点需要请教一下,既然我们默认的延时 ...
原帖由 lxl1638 于 2006-10-20 11:19 AM 发表
又学会了不少,只可惜,还是那句,因工作关系,10年没模过VC了(96年前后玩过TC 2.0、TC 3.0)。要是本人再年轻些,一定拜大侠为师。
原帖由 asbai 于 2006-10-20 11:20 发表
在这个用例中,轮询粒度设成 50 ms 还是 500 毫秒其实根本无关紧要,呵呵。因为轮询的成本很低,只不过是做一次整型运算和比较而已。即使把粒度设成 10ms 也不太可能看到 CPU 有任何波动。:)
原帖由 asbai 于 2006-10-20 11:20 发表
至于 ASP 偶也没玩过,不过一般在不支持延迟的环境下实现等待通常用一种变通方法:执行一个阻塞操作,例如:连接一个不存在的 IP 地址,连接超时就是你的 wait 值。连接数据库、超时等待一个信号等等。
原帖由 老毛桃 于 2006-10-20 11:28 AM 发表
嘿嘿,受教了!
感谢提醒,我改天将我的程序尝试看看能不能这样延时!
不瞒你说,我曾经用过更加“无奈”的方法,让 ASP 执行数百万次的整数或浮点运算,后来发现这样执行时的 CPU 占用率更高!但是对于更加 ...
原帖由 老毛桃 于 2006-10-20 11:28 AM 发表
感谢提醒,我改天将我的程序尝试看看能不能这样延时! ...
原帖由 asbai 于 2006-10-20 11:46 发表
这个。。。。。咳。。咳。。请毛桃兄三思。通常在网络服务端做同步等待是十分有害的行为。因为这会显著增加每个用户请求所占用的服务器资源。在并发数稍高的环境下,这样的做法会迅速消耗服务器的工作线程池、可 ...
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) | Powered by Discuz! X3.3 |