shared_from_this and thread safety

Viewed 224

Is it thread-safe to call shared_from_this in multiple threads?

cpppreference state:

Effectively executes std::shared_ptr(weak_this), where weak_this is the private mutable std::weak_ptr member of enable_shared_from_this.

Can I take it as a guarantee that it's safe to call shared_from_this in multiple threads?

Take the following code as an example:

class A : public std::enable_shared_from_this<A> {
public:
    std::shared_ptr<A> clone() {
        return shared_from_this();
    }
};

In this case, can I call A::clone() in multiple threads?

0 Answers
Related