setitimer问题【JAVA教程】

!
也想出现在这里? 联系我们
信息

setitimer问题,第1张

概述setitimer问题

我有我的双核心机器上运行以下代码。

当我在同一台PC上运行一个或两个应用程序的实例时,我有正确的时间分辨率为100毫秒。 但是,当我在同一台PC上运行同一个应用程序的3个实例时,时间分辨率大于100毫秒。 是否有可能使3个应用程序运行在100毫秒相同的分辨率? 这与我的机器上的内核数量有关吗?

#include <signal.h> #include <stdio.h> #include <string.h> #include <sys/time.h> voID timer_handler ( int signum) { double time ; // obtain time here gettimeofday() ; printf(\”timer_handler at time = %lf n\”,time ) ; } int main () { struct sigaction sa; struct itimerval timer ; memset ( &sa,sizeof ( sa ) ) ; sa.sa_handler = &timer_handler ; sigaction ( SIgalRM,&sa,NulL ); timer.it_value.tv_sec = 0 ; timer.it_value.tv_usec = 100000; timer.it_interval.tv_sec = 0; timer.it_interval.tv_usec = 100000 ; setitimer ( ITIMER_REAL,&timer,NulL ) ; for (;;); }

将LLVM添加到我的Cmake项目中:为什么在LLVM的Cmake文件中有硬编码path?

以编程方式检测是否安装了windows Media Player

打印任何文件types

将Ctrl + C注入到目标进程中

如何以编程方式移动windows任务栏?

编译后更改linux共享库(.so文件)版本

(Ubuntu 14.04)apt-get libopencv-dev,但得到的错误:无法纠正问题,你已经拿破碎的软件包

将C ++ LPCWSTR打印到文件

什么导致这种内存泄漏?

如何在system()中使用通配符Expression式

手册页setitimer(2)具有以下内容:

定时器在所请求的时间之前永远不会过期,但可能过了一段时间(短时间),这取决于系统定时器分辨率和系统负载; 看时间(7)。

显然,当你运行更多的应用程序实例时,系统负载会变得更高,定时器的准确性也会降低。

如果您替换繁忙循环:

for (;;);

有一些cpu限制(比如一个IO绑定的工作负载),时间会变得更加准确。

总结

以上是内存溢出为你收集整理的setitimer问题全部内容,希望文章能够帮你解决setitimer问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞108 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容