For purposes of determining the existence of a data race,
get_token,
close,
join,
try-associate,
disassociate, and
start-join-sender
behave as atomic operations ([intro.multithread]).
These operations on a single object of
type simple_counting_scope appear to occur in a single total order.