|
在osg中默认定义一个_OSG_REFERENCED_USE_ATOMIC_OPERATIONS宏,在ref()和unfef()函数中如果该宏已经定义过后,即该该操作是安全的。
个人想法:假设在两个线程A和B中,同时将智能指针对象x赋值给不同的对象,在赋值过程中两个线程同时执行了unref函数,这样可能造成引用计数为脏数据。
不知道osg中如何保证该操作是安全的。
在osg3.0中,默认定义了OSGUTIL_RENDERBACKEND_USE_REF_PTR,这样就不能使用DeleteHandler释放节点,是不是现在osg中的节点释放方法比DeleteHandler更好点? |
|