비디오

Thread-safety in C++

NAVER D22025년 6월 30일

- 네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025(5월)에서 발표되었던 세션을 공개합니다. [발표 내용] C++ 에서 thread safe 한 프로그램을 만들기 위해 알아야 할 기본 개념인 data race 와 basic thread safety, 연산 간 순서 관계에 대해 설명합니다. [목차] * Data race - Data race - 연산 간의 선후 관계(Sequenced-before) - 연산 간의 선후 관계(Synchronizes-with) - 연산 간의 선후 관계(happens-before) * Basic thread safety - Basic thread safety - Standard library 의 thread safety - std::shared_ptr T 의 basic thread safety - Basic thread safety 보장하지 않는 타입의 예 - Basic thread safety 를 왜 보장해 줘야 하나? * External synchronization - External sychronization - External sychronization w/ std::mutex - External sychronization w/ std::atomic - Synchronizes-with 관계를 제공하는 함수들 * Internally synchronized types - Internally synchronized types - Internally synchronized type 만들기 시도 - Synchronization primitives - Synchronization primitive 사용한 internally synchronized type - std::atomic 으로 구현하는 mutex