社区
Delphi
帖子详情
一个需要经验来回答的问题,请教高人
asili
2001-07-11 09:05:38
我有一项工程:程序要通过串口读数据,并且要将数据存入网络数据库中。现在分开作简单。因串口读数据很频繁,数据要及时存入数据库中,我想做成多线程,一个线程读串口,一个线程将数据存入数据库中。请问有谁做过吗?串口读出的数据用什么暂存供数据库线程读比较好,因该注意什么?
请大虾们明示!!!!
...全文
121
16
打赏
收藏
一个需要经验来回答的问题,请教高人
我有一项工程:程序要通过串口读数据,并且要将数据存入网络数据库中。现在分开作简单。因串口读数据很频繁,数据要及时存入数据库中,我想做成多线程,一个线程读串口,一个线程将数据存入数据库中。请问有谁做过吗?串口读出的数据用什么暂存供数据库线程读比较好,因该注意什么? 请大虾们明示!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
asili
2001-07-12
打赏
举报
回复
我用单线程,串口数据较慢时还可以,串口输入数据很快时,每秒>5,程序很容易挡住,因为一台PC上加了8把读马枪,数据时多时少,用多线程可以避免挡住吗?我没有经验。。。
asili
2001-07-12
打赏
举报
回复
谁能给我讲的再详细一点的介绍吗?用到的具体的DELPHI 技术
真是不好意思,这么少分,我在开页加分。
asili
2001-07-12
打赏
举报
回复
请Hillside()帮忙,请去http://www.csdn.net/expert/topic/192/192170.shtm 拿分
多谢各位的回答,我出100分请多提建议,
asili
2001-07-12
打赏
举报
回复
多谢各位老大好建议
MrGun
2001-07-12
打赏
举报
回复
建议用两个线程,一个读,一个写,中间用一个TList将数据保存下来,这样不会造成数据混乱
bokei
2001-07-12
打赏
举报
回复
用队列暂存串口读出来的数据.
Delphi里有TQueue这个类.
Hillside
2001-07-12
打赏
举报
回复
我现在忙活的一个项目和你的类似,不过读取串口和数据处理一共使用了2个程序.第一个程序读出串行数据后,放入共享缓存,然后向第二个程序发PostMessage.第二个程序有2个线程,主线程得到Message后,更改一个标志位通知另一个线程,这个线程负责到共享区去拿数据,但并不做长时间工作.如果某项工作耗时,则再通过PostMessage通知主线程去处理.如果第一个程序可以直接对第二个程序的副线程发Message,可能问题更简单.
oldfriend
2001-07-12
打赏
举报
回复
问题好像不用那么复杂。如果你的通讯数据多,而且需要预处理,放在一个临时表里就可以啦。
然后满足条件写入总库(用Timer控件定时处理)。
LittleStar
2001-07-12
打赏
举报
回复
可能单线程就可以了
用一个数组缓冲吧
Hillside
2001-07-12
打赏
举报
回复
如果你对我的方案感兴趣的话,我可以讲详细些.我今天刚到,积分较少,请帮助
liuchcn
2001-07-12
打赏
举报
回复
通常串口的速度远远比不上你把数据存入数据库的速度,而且它有缓冲的。
所以我觉得最好不要搞多线程,恐怕问题会很多。
asili
2001-07-11
打赏
举报
回复
可能是我没有讲清楚:
其实我主要是想问,用什么来暂存从串口读出来的一条一条的数据比较好,这样程序可以一边从串口中读出一条一条的数据(存到数据库中就是一条一条的记录),一边将数据存入数据库中。串口读出的数据为BARCODE,因为程序读串口时缓时急,所以我想将存数据库部分做成一单独线程。我想知道用什么来暂存读出的数据比较适合 。请教了!!!
snowglave
2001-07-11
打赏
举报
回复
用SPCOMM控件可以实现你的要求,关于该控件可以自已去找吧.
asili
2001-07-11
打赏
举报
回复
各位老大,我读串口使用中断方式,数据已读出来,中断方式自己管理多线程,我也不管。我是想
时程序除读串口外,另开一线程将数据存入数据库中。串口读出的数据用什么暂存供数据库线程读比较好?
谁能给点提示!!
BlueTrees
2001-07-11
打赏
举报
回复
我看着没必要,因为读和写是要同步的,并且是串行的,和单线程的有差别吗?或者你的理由?
luhongjun
2001-07-11
打赏
举报
回复
串口读数据有两种方式:1:查询方式。2:中断方式。
如果使用查询方式,应该做成多线程。使用中断方式不用了,他本身已经是多线程的了。
建议你使用MSCOMM32.OCX控件,比较简单。
PerformanceTesting_乱弹
一个
刚入门有志于软件性能测试的菜鸟小心翼翼地向
一个
前辈
高人
请教
什么是性能测试,前辈首先以威严的口气告诉他“性能测试是很复杂的”,然后徐徐道来“性能测试分为负载测试、压力测试、容量测试等”。到这里,我...
项目优化点整理
面试中经常会被问到项目优化的
问题
。 比如 项目中有哪些
问题
。 项目中有哪些可以优化的地方。 项目中有哪些做得不好的地方。...然后尝试解决,
请教
高人
。
回答
时一定要讲出现状及
问题
(会导致会么不好的后果,
如何快速掌握plc或工控机与其他设备的modbus通讯协议?包括格式与实际过程 RT,本人从事工控行业多年,对于PLC与触摸屏也算比较熟悉,唯独对这个通讯协议比较难理解,
请教
高人
指导,从什么地方开始下...
ASCII模式下,同样
一个
字节数据用了两个字节来传输。 例如,要传输数字0x5B,RTU传输的是0101 1011(二进制),而ASCII传输的是00110101和01000010。可见,ASCII传输的速率是RTU的一半。 ASCII模式采用LRC校验,...
怎么让人物脚贴地 模型_造型姿势复制_新手
请教
怎么把摆好的姿势复制到另
一个
人物模型上_彩妆阁...
挺胸收腹,线条露:)呵呵,一点POSE也不懂的MM可以马上学到一招,接下来具体介绍:1、头——尽量不要和身子同
一个
方向,否则显得比较呆板。如果拍的是身体正面照片,MM的头可向左或右稍微转动一些,如果MM拍脸正面...
浅论独立解决
问题
的能力的重要性
独立解决
问题
的能力是非常重要的,也是自学...这个时候,有没有独立解决
问题
的能力就会在个体之间表现得非常明显。 具备独立解决
问题
能力的人,在后续的工作和生活中,会比不具备独立解决
问题
的能力的人更得心应手...
Delphi
5,379
社区成员
262,722
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章