delphi里怎样在线程里实时性高的处理数据?

mandarin 2015-08-28 06:34:05
有一个数据处理的线程,里面是一个Queue,另外一个线程会不定期的往这个Queue里放数据;
线程里我现在是pop数据处理判断下是否是nil,如果是就会sleep一下,但是现在这种实时性不好,怎么样才能提高实时性?
后来考虑Resume,Suspend 来处理,但是后来发现push,Resume和pop ,Suspend 不能实现原子性操作,可能会有问题,应该用哪种方式比较好呢???
...全文
215 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tinix 2015-09-07
  • 打赏
  • 举报
回复
使用内核对象,信号量来记录队列数量。也可以用互斥对象来保证原子性,不要判断nil
mandarin 2015-08-31
  • 打赏
  • 举报
回复
引用 5 楼 a295281315 的回复:
你百度下getmessage,平时他无消息时就是挂起的,实时应该可以满足你,你要知道windows就是消息驱动的。
采用了这种处理方式 延时在毫秒以内 还是不错的
Mr Dang 2015-08-28
  • 打赏
  • 举报
回复
你百度下getmessage,平时他无消息时就是挂起的,实时应该可以满足你,你要知道windows就是消息驱动的。
mandarin 2015-08-28
  • 打赏
  • 举报
回复
引用 2 楼 a295281315 的回复:
引用 1楼Bzdr 的回复:
发消息通知线程处理
使用getmessage、postthreadmessage等
GetMessage的实时性在哪个级别?
mandarin 2015-08-28
  • 打赏
  • 举报
回复
引用 2 楼 a295281315 的回复:
引用 1楼Bzdr 的回复:
发消息通知线程处理
使用getmessage、postthreadmessage等
不处理的时候线程是不是也要挂起
Mr Dang 2015-08-28
  • 打赏
  • 举报
回复
引用 1楼Bzdr 的回复:
发消息通知线程处理
使用getmessage、postthreadmessage等
Mr Dang 2015-08-28
  • 打赏
  • 举报
回复
发消息通知线程处理

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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