实时采集并口数据时发现采集同样多数据时时间会变,原来是差不多10次变一次,现在提高了线程的优先级为实时,就是跟操作系统平级的,可是发现数据采集时间隔差不多30次还是会发生变化。是在数据采集时间总共100多us情况下采的,没有死机。大家帮我看看这到底是由什么引起的?到底是什么占用了我的数据采集时间?
  我对操作系统不熟,大虾们帮忙看看啊。。

解决方案 »

  1.   

    是不是我没把问题说明白啊? 就是比方说每次采100个数据,采前n次用100us的话,可能第n+1次变成150us,原来我以为是操作系统占用了数据采集时间造成的,所以提高了采集线程的优先级为实时,可是发现情况虽有些改善,问题还在。可以肯定线程是提高为实时了,因为如果程序停在数据采集程序里出不来的话,就会死机。
      

  2.   

    1 如果你用计时器,计时器本身有误差
    2 windows对线程采用动态优先级的时间片轮转,为了不保证其他进程饿死,你的进程有可能被剥夺
    3 尽管实时线程的优先级别比其他的高,但也不能独占cpu