编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以借助 boost 的 shared_ptr 和 weak_ptr 完美解决。这也是实现线程安全的 Observer 模式的必备技术。 本文源自陈硕在 2009 年 12 月上海
一个类似于eXeScope的但在某些方面比它还好一些的工具:eXeScope不能预览菜单但它可以,以下是它主页上对它的介绍: 用于察看、反汇编和取代 Windows 32 位可执行程序中的资源,支持 Delphi 5 和 C++ Builder。其实它虽然能保存资源但实际上只能直接修改图标和光标,而其他资源必须先导出保存为相应的文件用其他工具修改后才能导回保存,在这一点上它比不上eXeScope,但可