cppreference 예제인데 lock.test_and_set 루프 안에 lock.test 루프도 넣어놨더라고

c++20에서 추가된거 이용하는것 같은데 위쪽 test_and_set에서 이미 테스트가 가능한데도 왜 따로 안에서 또 test하는거지?

내가 통박굴려본바로는 안에서 따로 test만 하면 relaxed memory order 사용 가능해서 그런거 같은데 맞나?