【发布时间】:2014-08-29 09:49:29
【问题描述】:
所以我最近才听说这些 pthread,到目前为止我对它们的了解非常有限,但我只是想知道它是否能够在我真正了解它们之前做我想做的事情。
我编写了一个程序,它从微控制器生成两个输出脉冲,这些脉冲以不同的频率、周期和占空比发生。目前,输出脉冲的功能正在循环中发生,并且效果很好,因为我使用的时间是彼此的倍数,因此停止一个而不中断另一个并不是太麻烦。
但是我希望它更具动态性,这样我就可以轻松地更改占空比或周期,而不必针对这些时间创建一些特定的复杂循环......下面显示了我想要实现的目标的快速草图,我希望你能理解...
所以基本上我的问题是,C 语言中的 pthreads 是否可能发生这样的事情,即它们是否同时运行,所以在等待延迟完成时,一个可以脉冲打开和关闭?
如果没有,有什么我可以用来代替的吗?
【问题讨论】:
-
什么是最大脉搏率以及您能承受多少抖动?
-
只有在拥有多个核心/处理器的情况下,线程才能同时运行。对于单核线程,只能串行运行,不能并行。使用 pthreads 不会神奇地允许单个处理器同时运行多个指令序列。但是,如果一个线程正在等待(即实际上没有运行任何东西),那么另一个线程可以运行,但是当等待的线程需要唤醒和脉冲时,线程之间的上下文切换会产生开销。
标签: c pthreads signals simultaneous