最近在看以前同事留下的labwindows/Cvi程序,里面又一个定时器的定时间隔为0,这个间隔代表了什么意思?印象中,间隔为0的定时器类似于死循环,一直在执行定时器中的程序,不会跳出。但这个定时器中的程序是随时采样外部的脉冲信号,面板上的空间函数也可以正常执行,感觉类似于多线程了,但是定时又不是多线程,请问这个定时间隔为0,到底代表了什么?
网上给的答案就一句话太简单了,看不懂。
最近在看以前同事留下的labwindows/Cvi程序,里面又一个定时器的定时间隔为0,这个间隔代表了什么意思?印象中,间隔为0的定时器类似于死循环,一直在执行定时器中的程序,不会跳出。但这个定时器中的程序是随时采样外部的脉冲信号,面板上的空间函数也可以正常执行,感觉类似于多线程了,但是定时又不是多线程,请问这个定时间隔为0,到底代表了什么?
网上给的答案就一句话太简单了,看不懂。
收起
在 LabWindows/CVI 中,定时器的定时间隔为0表示定时器的时间间隔为最小可能的值,通常是几微秒或毫秒。这意味着定时器中的程序将在每个可用的 CPU 时钟周期中被执行,因此看起来像是一直在执行。这通常称为快速定时器或高分辨率定时器。
由于快速定时器是基于 CPU 时钟周期来执行的,所以它们不是真正的多线程。相反,它们在主线程上运行,并在主线程的上下文中执行。因此,如果定时器程序花费了太多时间来执行,可能会导致主线程无响应。
报告相同问题?