从PCI上读取数据 线程和定时器效率

从PCI上读取数据 线程和定时器效率

线程:

 mythread=AfxBeginThread(StartContinuous,(LPVOID)1,THREAD_PRIORITY_NORMAL,0,CREATE_SUSPENDED);
 mythread->ResumeThread();

UINT StartContinuous(LPVOID pParam)
{ HWND hWnd=(HWND) pParam;
 int len=0;
 FILE *fp;

 i=0;
 while(threadenable)
 {

  len = CPCI6312_ReadData(buf);
  if (len>0)
  {  
   reccnt += len;
   fwrite(buf,1,len,fp);
  }
 }

 len = CPCI6312_ReadLastData(buf);
 if (len>0)
 {
  reccnt += len;
  fwrite(buf,1,len,fp);
 }
 fflush(fp);
 fclose(fp);
 AfxMessageBox("end",MB_OK,NULL);

 return 0;
}

计数器方式:

void CDemo2Dlg::OnTimer(UINT nIDEvent)
{
 // TODO: Add your message handler code here and/or call default
 if(nIDEvent==1)//更新记录数据
 {
  runsec++;
  str.Format("record:%d (%d)",reccnt,runsec);
  m_list.AddString(str);
 }
 

 if (nIDEvent==2)//采集数据
 {
  len = CPCI6312_ReadData(buf);
  if (len>0)
  {  
   reccnt += len;
   fwrite(buf,1,len,fp);
  }
 }
 CDialog::OnTimer(nIDEvent);
}

同样的数据量,线程方式居然占用CPU 80% 以上,而计数器不到30%。

 

时间: 2024-12-05 11:07:04

从PCI上读取数据 线程和定时器效率的相关文章

【SSH网上商城项目实战15】线程、定时器同步首页数据(类似于CSDN博客定期更新排名)

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51387378 目录(?)[+]         上一节我们做完了首页UI界面,但是有个问题:如果我在后台添加了一个商品,那么我必须重启一下服务器才能重新同步后台数据,然后刷新首页才能同步数据.这明显不是我们想要的效果,一般这种网上商城首页肯定不是人为手动同步数据的,那么如何解决呢?我们需要用到线程和定时器来定时自动同步首页数据. 1. Timer和Timer

SSH框架网上商城项目第15战之线程、定时器同步首页数据_java

上一节我们做完了首页UI界面,但是有个问题:如果我在后台添加了一个商品,那么我必须重启一下服务器才能重新同步后台数据,然后刷新首页才能同步数据.这明显不是我们想要的效果,一般这种网上商城首页肯定不是人为手动同步数据的,那么如何解决呢?我们需要用到线程和定时器来定时自动同步首页数据.1. Timer和TimerTask我们需要用到Timer和TimerTask两个类.先来介绍下这两个类. Timer是一种工具类,在java.util包中,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,

求一个能从数据库读取数据并显示到坐标图上的java程序

问题描述 求一个能从数据库读取数据并显示到坐标图上的java程序 新手学java,但是现在急需一个能从数据库读取数据并显示到坐标图上的java程序,希望各位能够给一点帮助,谢谢了 解决方案 http://www.open-open.com/lib/view/open1337915511824.htmlhttp://blog.csdn.net/sjf0115/article/details/7059407 解决方案二:

node js-node.ja中 当表单含有文件上传时,如何读取数据

问题描述 node.ja中 当表单含有文件上传时,如何读取数据 商品名称 :图片 :(jpg/png小于2M 300*300)为什么我用req.body.salename接受不到参数

如何在客户端上读取大数据文件(NetCDF格式)

问题描述 如何在客户端上读取大数据文件(NetCDF格式) 小妹这里遇到一个技术问题,请各位大牛不吝赐教啊. 我们现在在做一个小网站,主要实现在客户端上传NETCDF文件,然后再服务器端读入,并对读入数据进行一系列运算后,向客户端返回运算结果,并在客户端显示出来. (NETCDF文件是一种科学数据的文件格式化,需要通过NetCDF 接口函数库来读取文件) 现在我们遇到一个问题,由于NETCDF文件数据量太大(几百兆左右),在服务器端读取NETCDF文件花费的时间太长,影响了页面的操作效率,所以我

c#怎么读取服务器上的数据

问题描述 在阿里云服务器上创建了一个实例,上面每天都有数据接收,怎么通过c#读取上面的数据,求高人指教代码 解决方案 解决方案二:webservice取数据解决方案三:能说的具体一点吗,最好能有代码解决方案四:这个需要服务器和客户端配合才行.你可以将收到的数据以文本文件的形式存放在iis的目录下,用C#在客户端用WebClient.DownloadString去取.解决方案五:如果你用.net的话,做个wcf.(其实很简单呐)如果嫌技术太难的话,生成好文件用ftp下载下来就可以.或者把数据放到数

c# 如何读取网页上的数据 求大神指点

问题描述 请问大神们:如何读取网页上的数据求1.我想要读取网页上的信息,比如要获取百度贴吧一个帖子里所有的内容2.帖子有很多页,怎么继续按下一页继续读取呢?这里面需要什么方法或者控件,求大神给点思路和指导下!!!最好留个QQ请教 解决方案 解决方案二:求代码求思路求大大解决方案三:通过当前页获取,获取后面页面,解决方案四:http://blog.csdn.net/X___V/article/details/8605946怎么获取内容,网上很多.主要获取到要怎么分析有用的解决方案五:引用3楼u01

云端深度学习框架TensorFlow读取数据IO的高效方式

低效的IO方式 最近通过观察PAI平台上TensoFlow用户的运行情况,发现大家在数据IO这方面还是有比较大的困惑,主要是因为很多同学没有很好的理解本地执行TensorFlow代码和分布式云端执行TensorFlow的区别.本地读取数据是server端直接从client端获得graph进行计算,而云端服务server在获得graph之后还需要将计算下发到各个worker处理(具体原理可以参考视频教程-Tensorflow高级篇:https://tianchi.aliyun.com/compet

TensorFlow教程之进阶指南 3.5 读取数据

本文档为TensorFlow参考文档,本转载已得到TensorFlow中文社区授权. 数据读取 TensorFlow程序读取数据一共有3种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据. 从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据. 预加载数据: 在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况). 目录 数据读取 供给数据(Feeding) 从文件读取数据 文