ACE_Refcounted_Auto_Ptr是否线程安全啊,看看代码
template <class X, class ACE_LOCK> inline ACE_Refcounted_Auto_Ptr_Rep<X, ACE_LOCK> *ACE_Refcounted_Auto_Ptr_Rep<X, ACE_LOCK>::attach (ACE_Refcounted_Auto_Ptr_Rep<X, ACE_LOCK>*& rep)
{
if (rep == 0)
return 0;
++rep->ref_count_;
return rep;
}这个地方是指针引用计数++的地方,没用用锁,安全吗,请大侠指教 代码里面不是写了,rep便是锁的实例啊。 ACE_INLINE long
ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator++ (void)
{
#if defined (ACE_HAS_INTRINSIC_INTERLOCKED)
return ::_InterlockedIncrement (const_cast<long *> (&this->value_));
#elif defined (WIN32)
return ::InterlockedIncrement (const_cast<long *> (&this->value_));
#else /* WIN32 */
return (*increment_fn_) (&this->value_);
#endif /* WIN32 */
}
3q
++那个地方还搞了好多东西哦,呵呵,看到
页:
[1]