怎么编写一个计时器(钟表)?

C、C++和Java语言
回复
头像
lldonger
帖子: 101
注册时间: 2010-10-15 15:42
送出感谢: 0
接收感谢: 0

怎么编写一个计时器(钟表)?

#1

帖子 lldonger » 2010-12-20 16:31

计时器(钟表)的程序是怎么设计的?也是使用循环自加的方式吗?
如果是循环自加方式的话,请问怎么控制它每秒自加1的?

如果不是使用循环自加的方式,请问计数器的原理是什么?
头像
wzssyqa
帖子: 4010
注册时间: 2008-04-07 17:36
来自: 泰安人在阜新
送出感谢: 0
接收感谢: 0

Re: 怎么编写一个计时器(钟表)?

#2

帖子 wzssyqa » 2010-12-20 19:23

在绝大多数机器上,是有专门的硬件做这个工作的
头像
tangboyun
帖子: 701
注册时间: 2009-07-25 1:57
送出感谢: 5 次
接收感谢: 13 次
联系:

Re: 怎么编写一个计时器(钟表)?

#3

帖子 tangboyun » 2011-01-02 22:56

高级语言应该都有一个类似或者就叫 sleep 或者wait之类的函数吧。

当然如果是在汇编水平如何实现,我也很有兴趣。。。关键是怎么让cpu闲下来,而不是空转,有这样的汇编指令么

想想还是不行,关键现在不可能绕过操作系统的,还是得考操作系统分配时间片.

楼主的问题应该不太难(当然我没实现过,胡乱说说的),我想应该可以这样,分两个线程,其中一个先绘制下一帧的图形结果,另一个则调用设定好每帧间隔时间的系统的休眠函数,最后同步下两个线程之后执行绘制,然后无限循环就是了.不过再要设计好特殊的消息处理函数. 一般的应用程序这样的精度应该可以了吧,再要高就需要特殊硬件和操作系统支持了.
https://github.com/tangboyun
http://tangboyun.is-programmer.com/
提问的智慧————Eric Steven Raymond
回答的智慧————Andrew Clarke
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
急急急标题什么的,最讨厌了!
急急复急急,急急何其多,我生待急急,万事急急急。
回复

回到 “C/C++/Java”