핵심 요약
NAVER D2가 NAVER ENGINEERING DAY 2025의 스레드 안전성 세션 내용을 공개하며 C++에서 데이터 레이스와 기본 스레드 안전성, 연산 간 선후 관계를 이해하고, std::mutex와 std::atomic 등 도구를 활용한 외부/내부 동기화 접근법을 실무에 적용하는 방법을 공유했습니다.
주요 경험
- 데이터 레이스, 기본 스레드 안전성, 연산 간 선후 관계 등 핵심 개념을 발표로 정리했다.
- std::mutex, std::atomic 등 도구를 외부/내부 동기화에 적용하는 방법을 제시했다.
- Internally synchronized types 제작 시도와 동기화 프리미티브 활용 방향에 대한 탐구를 공유했다.
얻은 인사이트
- 멀티스레드 설계에서 데이터 레이스를 피하기 위한 원칙과 구조가 핵심임을 재확인했다.
- Sequenced-before, Synchronizes-with, Happens-before 관계의 이해가 버그 원인 분석과 재현에 도움을 준다.
- 외부/내부 동기화 선택 시 상황에 맞는 접근 방식과 도구 사용법을 정립해야 한다는 점을 시사했다.