atomic_shared_ptr is using lock