use atomics for intrusive_ptr of shared_state