태그: lock-free
5편
-
C++ 메모리 순서 예제로 이해하기: relaxed, acquire/release, seq_cst, consume
C++ std::atomic의 메모리 순서 정리. memory_order_relaxed, acquire/release, seq_cst, consume을 예제로 비교하고, 동기화 패턴과 자주 나는 에러, 성능 차이를 다룹니다.
-
C++ 고급 멀티스레딩 | 스레드 풀·Work Stealing
C++ 스레드 풀·Work Stealing·Lock-Free 큐·메모리 순서·Thread-Local Storage 등 고급 멀티스레딩 패턴. 실제 문제 시나리오부터 프로덕션 패턴까지, 1000줄 분량의 실전 가이드.
-
C++ Lock-Free 자료구조: CAS로 스택·큐 만들기, 메모리 순서, ABA 문제와 Hazard Pointer
C++ Lock-Free 프로그래밍 정리. 원자 연산과 CAS, Lock-Free 스택과 큐 구현, memory_order 선택, ABA 문제와 Hazard Pointer 해법, 자주 나는 에러와 락 기반 대비 성능을 다룹니다.
-
C++ 멀티스레드 성능 튜닝 | 락 프리·작업 훔치기·스레드 풀 [#51-3]
스레드를 늘렸는데 오히려 느려지는 원인을 락 경합과 false sharing에서 찾고, 캐시 라인 정렬, ABA 문제를 고려한 lock-free 스택, SPSC 큐, 작업 배치와 work stealing 스레드 풀로 개선하는 과정을 C++ 코드로 다룹니다.
-
C++ atomic: 락 없는 카운터, 메모리 순서, 언제 mutex 대신 쓰나
카운터 하나에 mutex를 쓰기 부담스러울 때 std::atomic의 fetch_add와 compare_exchange로 락 없이 갱신하는 방법, seq_cst, acquire/release, relaxed 메모리 순서를 고르는 기준, lock-free 스택과 SPSC 큐 구현, ABA 문제와 volatile 혼동을 설명합니다.