我在我的项目中使用了 MFC 同步对象,没有任何问题。但是最近我看到一篇文章,其中解释了MFC synchronization is completely wrong .我不确定他说的是哪个版本的 MFC,但我坚信 MFC 在最近的版本中已经成熟。我正在使用随 Visual Studio 2008 安装一起提供的 MFC 库。使用此版本的 MFC 库是否安全,尤其是用于同步?
最佳答案
关于互斥锁超时,有一种并发软件设计流派认为您不应该在正常操作中使用超时。然后,您的设计将涉及永远不会超时的互斥锁或其他锁,而超时实际上是一种处理死锁的机制:您尝试将系统设计为不出现死锁,但万一它们确实发生了,您宁愿拥有它或多或少优雅地失败,而不是永远保持解除锁定状态。
如果您以这种方式使用锁,那么尝试获取互斥量失败的原因可能并不重要。
另一方面,它似乎并没有从根本上被破坏,但至少有些不足,因为这些信息无缘无故地丢失了,并且有更好的框架为互斥体提供 OO 包装器,所以无论如何避免 MFC这个案例似乎是个好主意。
关于c++ - 使用 MFC 同步对象的陷阱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144392/