작성
·
201
0
void IncreaseHeadCount(CountedNodePtr& oldCounter)
{
while (true)
{
CountedNodePtr newCounter = oldCounter;
++newCounter.externalCount;
// 카운터가 정상적으로 1 증가할때까지 실행
if (_head.compare_exchange_strong(oldCounter,newCounter))
{
oldCounter.externalCount = newCounter.externalCount;
break;
}
}
}
while의 조건문에는 언제나 compare_exchange_weak를 사용했는데
while문 내부의 if에는 compare_exchange_strong을 사용한 이유가 궁금합니다.
특별한 의미는 없는거였군요
감사합니다