扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在用VCL的情况下还是建议你使用TThread,API做程序的时候就要用CreateThread了 给出函数:WaitForSingleObject 你可以在一个线程中用这个函数来等待另一个线程操作完毕,或者用消息来实现。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的四平网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
wait可以指等待的时间,也可以指“等”的动作。
方法。wait(long timeout)导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll()方法,或者超过指定的时间量。
wait的用法1:wait的基本意思是“等”,指在相当长的一段时间内停留在某个地方,直到某事发生或某人到来为止。wait的用法2:wait主要用作不及物动词,常与介词for连用。
如果对时间要求非常精确,可以考虑采用和汇编中处理的情况,看看cpu的频率,将for命令分解成汇编语言,看多少毫秒执行一次命令,然后设置循环次数,这样足够精确,实际上在汇编下也是这么做的。
不是标准函数,应是自定义函数。例如:include windows.hvoid waiting(){ Sleep(1000);} 调用 waiting() 则将 等待 1秒钟。
Sleep中的第一个英文字符为大写的S ,在linux下不要大写,在标准C中是sleep, 不要大写,简单的说VC用Sleep, 别的一律使用sleep。
消息队列的等待就是GetMessage,没办法自己写,除非你打算改Windows本身。这个函数如果没有消息进来就会释放CPU,如果不希望等待用PeekMessage。消息循环的格式是固定的。
system(pause)意思就是让程序暂停一下,然后按任意键继续,初学的时候最多见于程序的末尾处,用于看运行结果,避免程序一闪而过。相同的我们还可以用getchar(),避免程序运行完直接结束而看不到运行结果。
延迟函数,一般建议调用系统函数。不建议循环。特别是多任务操作系统,循环会消耗系统资源。如果是Dos,indows,linux系统建立调用 Sleep()函数。其他系统,请自行查找。
1、sleep和wait的区别有:1,这两个方法来自不同的类分别是Thread和Object 2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
2、sleep 是线程被调用时占着CPU,其他线程不能占用CPU,os认为该线程正在工作,不会让出系统资源。wait是进入等待池,让出系统资源,其他线程可以占用CPU,一般wait不会加时间限制。
3、wait是进入队列等待获取锁,notify是在已经占有锁的时候释放锁,并通知wait队列里的某一个线程起来去获取锁。
4、sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
5、sleep()可以将一个线程睡眠,参数可以指定一个时间。而wait()可以将一个线程挂起,直到超时或者该线程被唤醒。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流