인프런 커뮤니티 질문&답변

바른생활님의 프로필 이미지

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

채팅 실습

C++ 11 이전 CAS 문법

해결된 질문

23.08.30 14:00 작성

·

345

1

안녕하세요~ 선생님.

강의를 복습하다 보니 compare_exchange_strong 문법에 호기심이 생겨서 찾아보니,

atomic과 compare_exchange_strong은 C++ 11 부터 추가된 문법이라고 그러더라고요.

저는 현재 연습용으로 옛날 문법(C++ 11 이전)을 이용해서 Read-Write Lock을 구현해보려고 하는데

atomic 과 compare_exchange_strong,weak 없이 구현할 수 있을까요? ㅠㅠ...

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2023. 08. 30. 14:14

굳이(?) C++11 이전 방식으로 하려면
atomic처럼 C++ 표준에서 통일된 함수는 없습니다.
Windows / Linux 운영체제에 따라 Native 함수가 하나씩 있어서 그걸 이용하시면 됩니다.
Windows 버전에서는 Interlocked~~ 시리즈에요.

https://learn.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-interlockedcompareexchange

바른생활님의 프로필 이미지
바른생활
질문자

2023. 08. 30. 14:17

정말 모르시는 게 없으시군요...!
언제나 완벽하고 빠른 답변 감사합니다 ㅎㅎ