如何解决同步接收数据并处理数据的问题?

davidstack 2010-01-22 10:31:23
在VC++中,设置SetTimer函数定时调用数据处理函数,另外设置一个独立的函数进行是网络数据的接收。但是这分Settime函数定时不是很精确,每次都差几毫秒。以后回越来越延迟,不知各位高手有什么好的解决方法?
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
includegaoxingwang 2010-01-22
  • 打赏
  • 举报
回复
up
wangk 2010-01-22
  • 打赏
  • 举报
回复
网络对时,参考使用ntp协议。

精确定时请使用多媒体定时器,不要用WM_TIMER
eyodo8 2010-01-22
  • 打赏
  • 举报
回复
setTimer不就是用多线程实现的么。楼上几位说的方法都可以解决你的问题的。你也可以用一个临时缓存区存储数据,处理跟接收不使用同一资源,就不用处理临界资源了。可以实现并行处理

线程1:实现类似于Timer的功能

DWORD WINAPI DealProc(void * pParam)
{
while(true)
{
if(bRecved) ////数据接收完了,可以处理了 类似于信号机制量
{
doDeal() ///处理时资源需要加锁
bRecved = false;
}
Sleep(xxx)较短的时间间隔
}

}

线程2:接收线程 数据接收完成后修改 bRecved标志为true;





davidstack 2010-01-22
  • 打赏
  • 举报
回复
多线程,感觉不适合我这种情况,因为根本无法确定有没有收完数据。只知道在某个时间段内,互斥事件没有办法判定判断解锁的时刻。只能用settimer()
zhou1xp 2010-01-22
  • 打赏
  • 举报
回复
线程同步的方法很多的,如临界区,事件等等
o_yale_o 2010-01-22
  • 打赏
  • 举报
回复
符合要求就行
WizardK 2010-01-22
  • 打赏
  • 举报
回复
1.接收数据线程->互斥->向数据池(数据缓冲,FIFO)添加并写入新数据->互斥
2.处理数据线程->互斥->从数据池(数据缓冲,FIFO)读取并删除新数据->互斥

至于这两个线程你想怎么维护随你,可以用定时器,主线程,单独创建。。。
Conry 2010-01-22
  • 打赏
  • 举报
回复
一般都是用多线程来解决
一个线程接收数据,一个线程发送数据,一个线程或者线程池来处理数据



课题一高性能高扩展的千亿级实时数据仓库全实现 随着我们从IT时代步入DT时代,数据积累量也与日俱增,同时伴随着互联网的发展,越来越多的应用场景产生,传统的数据处理、存储方式已经不能满足日益增长的需求。而互联网行业相比传统行业对新生事物的接受度更高、应用场景更复杂, 因此基于大数据构建的数据仓库最先在互联网行业得到了尝试。 高性能高扩展的亿级电商全端实时数据仓库全实现(PC、移动、小程序) ,以热门的互联网电商实际业务应用场景为案例讲解,对电商数据仓库的常见实战指标以及难点实战指标进行了详尽讲解,具体指标包括:每日、月大盘收入报表、高付费用户分析报表、流量域多方位分析、营销域多方位分析、实时排行榜指标分析、用户主题分析、店铺主题时间区间分析等,数据分析涵盖全端(PC、移动、小程序)应用,与互联网企业大数据技术同步,让大家能够真正学到大数据企业级数据仓库的实战经验。 本课程凝聚讲师多年一线大数据企业实际项目经验,大数据企业在职架构师亲自授课,全程实操代码,带你体验真实的大数据开发过程,代码现场调试。通过本课程的学习再加上老师的答疑,你完全可以将本案例直接应用于企业。 课题二基于Flink+Hudi构建企业万亿级云上实时数据湖教程 随着互联网的发展,数据的不断膨胀,从刚开始的关系型数据库到非关系型数据库,再到大数据技术,技术的不断演进最终是随着数据膨胀而不断改变,最初的数据仓库能解决我们的问题,但是随着时代发展,企业已经不满足于数据仓库,希望有更强大的技术来支撑数据的存储,包括结构化,非结构化的数据等,希望能够积累企业的数据,从中挖掘出更大的价值。基于这个背景,数据湖的技术应运而生。 本课程基于真实的企业数据湖案例进行讲解,结合业务实现数据湖平台,让大家在实践中理解和掌握数据湖技术,未来数据湖的需求也会不断加大,希望同学们抓住这个机遇。 项目中将以热门的互联网电商业务场景为案例讲解,具体分析指标包含:流量分析,订单分析,用户行为分析,营销分析,广告分析等,能承载海量数据的实时分析,数据分析涵盖全端(PC、移动、小程序)应用。 课题三基于电商业务全链路数据中台落地方案(全渠道、全环节、全流程) 在互联网发展浪潮中,数据对于企业的价值是非常大的,怎么管理好数据,以及快速挖掘数据价值,共享数据价值,急需一套解决方案,在数据开发中,核心数据模型的变化是相对缓慢的,同时,对数据进行维护的工作量也非常大;但业务创新的速度、对数据提出的需求的变化,是非常快速的。数据中台的出现,就是为了弥补数据开发和应用开发之间,由于开发速度不匹配,出现的响应力跟不上的问题数据中台解决问题,包括:效率问题、协作问题、能力问题数据中台是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念。 本课程基于真实企业数据中台建设架构进行讲解,带大家构建数据中台,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。 课程包含几大模块:数据源管理、数据接入管理、数据质量管理、数据质量报告、数据安全管理、数据查询IDE、数据血缘以及元数据管理、数据中台实战应用等,对于数据中台涉及到的业务以及技术进行详尽的讲解。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧