BUG: System.TMonitor 作为同步对象时可能会产生异常

shadowstar 2011-05-24 09:52:34
经过数日折磨之后终于确定是TMonitor存在BUG @_@,问题主要来自于Wait和Pulse这组函数。

因为Generics.Collections.TThreadedQueue同样使用了TMonitor来同步,所以TThreadedQueue也有BUG。

Classes.TThreadList也使用TMonitor,不过因为里面没有用到Wait函数,所以并TThreadList可以正常使用。
...全文
246 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowstar 2011-05-25
  • 打赏
  • 举报
回复
只要在多线程环境下使用了Wait和Pulse函数都容易出错,目前没发现只使用Enter和Exit的情况下出错,不过还是尽量不要使用TMonitor,而用其它阻塞对象或WINAPI代替。
bdmh 2011-05-25
  • 打赏
  • 举报
回复
什么意思,你发现什么bug了,声明情况下会无效

16,747

社区成员

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

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