c++ - 使用 MFC 同步对象的陷阱

标签 c++ windows visual-c++ mfc

我在我的项目中使用了 MFC 同步对象,没有任何问题。但是最近我看到一篇文章,其中解释了MFC synchronization is completely wrong .我不确定他说的是哪个版本的 MFC,但我坚信 MFC 在最近的版本中已经成熟。我正在使用随 Visual Studio 2008 安装一起提供的 MFC 库。使用此版本的 MFC 库是否安全,尤其是用于同步?

最佳答案

关于互斥锁超时,有一种并发软件设计流派认为您不应该在正常操作中使用超时。然后,您的设计将涉及永远不会超时的互斥锁或其他锁,而超时实际上是一种处理死锁的机制:您尝试将系统设计为不出现死锁,但万一它们确实发生了,您宁愿拥有它或多或少优雅地失败,而不是永远保持解除锁定状态。

如果您以这种方式使用锁,那么尝试获取互斥量失败的原因可能并不重要。

另一方面,它似乎并没有从根本上被破坏,但至少有些不足,因为这些信息无缘无故地丢失了,并且有更好的框架为互斥体提供 OO 包装器,所以无论如何避免 MFC这个案例似乎是个好主意。

关于c++ - 使用 MFC 同步对象的陷阱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144392/

相关文章:

c++ - 关于指针和什么是/不是指针的问题

c++ - 错误 : cast from 'const prog_uchar*' to 'byte' loses precision?

c++ - 如何检查给定进程在运行时加载了哪些共享库?

C++ 在控制台应用程序中播放视频音频

c++ - 是否可以忽略 UnMapViewOFFile() 的错误 487 (ERROR_INVALID_ADDRESS)?

c++ - 你如何禁用 CBitmapButton?

c++ - 如何立即停止/结束程序?

c++ - 如何使用函数指针作为模板类的构造函数参数?

ruby - 在 ruby​​ 中使用其 PID 终止进程

c++ - 如何解决 Visual C++ 200 5's "修饰名称长度超出,名称被截断“警告?