Articles of 时钟

如何使C计时器在Linux中的特定系统时间到期

我正在尝试创build一个取决于系统时钟的定时器。 这意味着当系统时间改变时,它也会影响这个定时器的到期时间。 所以我想,创build一个基于CLOCK_REALTIME计时器应该做的伎俩。 但是,当这个定时器在60秒之后到期,并且当我使系统时钟提前32秒(使用date命令)时,定时器恰好在60秒之后过期。 它并没有在32秒前到期。 所以我计算了CLOCK_REALTIME和CLOCK_MONOTONIC时钟在2个定时器到期之间的时间。 它显示了CLOCK_REALTIME的92秒和CLOCK_MONOTONIC的60秒,这让我很惊讶,基于CLOCK_REALTIME的计时器没有查找系统时钟的变化。 任何人都可以解释这种行为? #include <stdio.h> #include <signal.h> #include <time.h> #include <string.h> #include <sys/time.h> timer_t timerID; struct timespec rt1, rt2, mt1, mt2; void TimerCalback() { clock_gettime(CLOCK_REALTIME, &rt1); clock_gettime(CLOCK_MONOTONIC, &mt1); printf("%lu sec elapsed for CLOCK_REALTIME\n", rt1.tv_sec – rt2.tv_sec); printf("%lu sec elapsed for CLOCK_MONOTONIC\n", mt1.tv_sec – mt2.tv_sec); rt2 = rt1; mt2 = mt1; […]

了解clock_gettime的问题

clock_gettime可以访问不同的时钟。 特别是我感兴趣的是: CLOCK_REALTIME CLOCK_PROCESS_CPUTIME_ID CLOCK_THREAD_COUTIME_ID 我阅读了这个手册,但是对我没有太大的帮助。 我使用clock_gettime来为我的分析器生成时间戳,当它通过套接字发送收集的数据时。 我注意到以下的不同: CLOCK_REALTIME 我用这个时钟从我的分析器收到的事件有时是错误的顺序。 时间戳以较高的值开始,但不是很高。 通常最后的消息(具有较高时间戳的消息)首先出现,而后面的消息则以较低的值出现。 CLOCK_PROCESS_CPUTIME_ID CLOCK_THREAD_COUTIME_ID 我发现两个时钟都没有什么区别,尽pipe它们的值较小,总是正确的。 我无法解释这种行为。

如何检查terminal中的HZ?

我见过这个http://kaasxxx.wordpress.com/2008/01/22/linux-hz-checker/但脚本似乎不工作。 无论如何,知道一个简单的方法来在Linuxterminal“HZ”? 谢谢,:>

clock()在time.h中的精度

我试图计算一个函数用来运行的滴答数量,并使用clock()函数来这样做: unsigned long time = clock(); myfunction(); unsigned long time2 = clock() – time; printf("time elapsed : %lu",time2); 但问题是它返回的值是10000的倍数,我认为是CLOCK_PER_SECOND 。 有没有更精确的方法或等价的函数值? 我使用Ubuntu 64位,但宁愿如果解决scheme可以在Windows和Mac OS等其他系统上工作。

如何以编程方式在Linux上设置硬件时钟?

Linux提供stime(2)调用来设置系统时间。 但是,虽然这会更新系统时间,但它不会将BIOS硬件时钟设置为与新系统时间匹配。 Linux系统通常在关机和定期间隔时间将硬件时钟与系统时间同步。 但是,如果机器在其中一个自动同步之前进行重新启动,则机器重新启动时,时间将不正确。 如何在设置系统时间时确保硬件时钟得到更新?

为什么C clock()返回0

我有这样的东西: clock_t start, end; start=clock(); something_else(); end=clock(); printf("\nClock cycles are: %d – %d\n",start,end); 我总是得到一个输出“时钟周期是:0 – 0” 任何想法为什么发生这种情况 (只是为了提供一些细节,something_else()函数使用蒙哥马利表示来执行从左到右的求幂,而且我不确定something_else()函数确实需要一些不能忽略的时间。) 这是在Linux上。 uname -a的结果是: Linux snowy.*****.ac.uk 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux

如何使用C#将Windows系统时钟设置为正确的本地时间?

如何使用C#将Windows系统时钟设置为正确的本地时间?

Windows上的时钟漂移

我开发了一个跟踪业务事件的Windows服务。 它使用Windows时钟来标记事件。 但是,底层时钟会漂移很大(例如,每分钟会丢失几秒钟),特别是在CPU工作的时候。 我们的服务器使用Windows时间服务与域控制器保持同步,域控制器在底层使用NTP,但同步频率由域策略控制,并且无论如何,即使每分钟同步也仍然会产生显着的漂移。 除了使用硬件时钟之外,有没有什么技术可以使时钟更稳定?

Windows 7左键单击时钟popup

当在Windows 7的任务栏上单击时钟(也许是Vista)时,会popup一个popup窗口,显示日历和时钟(因此不是date和时间调整窗口)。 我如何打开这个窗口(首选在C#中)? 我希望timedate.cpl会调用这个,但是这会打开date和时间调整窗口。

以编程方式访问graphics卡时钟

是否有可能从Windows应用程序使用graphics卡时钟? 更具体地说 – 是否有可能以某种方式使graphics卡发送时钟事件中断(打勾?),并从软件挂钩? 我想说的是PC时钟不是很好。 精密时钟花费很多钱,加上他们很难colo(GPS信号不可用,primefaces钟花费胳膊和腿等)。 我读到新的graphics卡上有精确的时钟。 所以我的直接思想 – 我可以使用它们来精确地同步我的应用程序到100ns或许(对自己的心理注意) ? 有任何想法吗? PS或audio卡在这个问题… PPS请回答这个问题 – 我可以连接到一个graphics/声卡内部时钟,而不是Windows与Linux的讨论。 谢谢