태그: atomic
3편
-
C++ 멀티스레드 간헐적 크래시: ThreadSanitizer로 데이터 레이스 찾고 mutex·atomic으로 고치기
싱글스레드에선 멀쩡하던 코드가 멀티스레드에서 간헐적으로 죽을 때, ThreadSanitizer로 데이터 레이스를 찾아내고 mutex·lock_guard·atomic 중 무엇으로 동기화할지, 데드락과 거짓 공유는 어떻게 피할지 예제로 설명합니다.
-
C++ 메모리 순서 예제로 이해하기: relaxed, acquire/release, seq_cst, consume
C++ std::atomic의 메모리 순서 정리. memory_order_relaxed, acquire/release, seq_cst, consume을 예제로 비교하고, 동기화 패턴과 자주 나는 에러, 성능 차이를 다룹니다.
-
C++ Lock-Free 자료구조: CAS로 스택·큐 만들기, 메모리 순서, ABA 문제와 Hazard Pointer
C++ Lock-Free 프로그래밍 정리. 원자 연산과 CAS, Lock-Free 스택과 큐 구현, memory_order 선택, ABA 문제와 Hazard Pointer 해법, 자주 나는 에러와 락 기반 대비 성능을 다룹니다.