Is it thread-safe to call shared_from_this in multiple threads?
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?