能解决问题,1000分奉上(另开贴),帮忙提前也有分啊:),个线程用PostThreadMessage向另外一个线程发送消息,(另外一个线程用peekMessa

  • 主题发起人 美国提子
  • 开始时间
学习,力气还是有地,我也顶!
 
前面提到的消息队列满不知道你如何看, 消息队列为什么满, 是因为你的处理过程速度
比 发消息的那个线程 的消息发送速度满
所以开始的时候, 两个线程还能跑一阵, 过了一段时间后, 在处理消息的线程 就会有
消息积压, 积压满了, 再发进消息队列的消息就进不去了
你可以将处理过程稍微改改, 把复杂耗时的处理去掉, 做一下测试, 跑一段时间, 看
是否还有消息丢失, 如果没有了, 就证实了上面说法的正确
如果上面判断正确, 你可以用线程池来做, 也可以用异步重叠IO 来做,
总之在实时性能要求高的场合 使用 线程消息不是很安全, 就因为CPU 一忙, 线程消息
响应就会受影响.
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=1193
可以参考这里
 
呵呵,谢谢各位,我记录了两个线程的记录,通过时间判断发送接收还是同步的,找不到原因,后来干脆不用消息传递了,直接用改变对象值作为发送接受标志
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
975
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部