|
Boost Users : |
Subject: Re: [Boost-users] weak_ptr and thread safety
From: Peter Dimov (pdimov_at_[hidden])
Date: 2009-07-22 15:27:25
Pavel Shevaev wrote:
> Guys, could you please clarify whether the following usage of weak_ptr
> is thread safe:
>
> //thread A:
> shared_ptr<Foo> p = wp.lock();
>
> //thread B:
> p.reset();
p is local to thread A, so B can't reset it.
// thread B:
wp.reset();
is not safe (A reads wp, B writes wp).
// before A and B
shared_ptr<X> p( new X );
weak_ptr<X> wp( p );
// A
shared_ptr<X> p2 = wp.lock();
// B
p.reset();
is safe (A reads wp, B writes p).
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net