一个需要经验来回答的问题,请教高人

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控件,比较简单。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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