기술나눔

C의 잠금에 대한 깊은 이해

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

목차

1. 기본 뮤텍스 잠금(std::mutex)

2. 재귀적 뮤텍스 잠금(std::recursive_mutex)

3. 타임아웃 메커니즘을 사용한 뮤텍스 잠금(std::timed_mutex)

4. 시간 초과 메커니즘을 갖춘 재귀적 뮤텍스 잠금(std::recursive_timed_mutex)

5. 공유 뮤텍스 잠금은 읽기-쓰기 잠금(std::shared_mutex)이라고도 합니다.

6. 시간 제한 메커니즘을 갖춘 공유 뮤텍스 잠금(std::shared_timed_mutex)

7. 스핀 잠금

8. 요약


1.기본 뮤텍스(std::mutex)

含义: std::mutex이는 가장 기본적인 뮤텍스 잠금으로, 주로 중요한 섹션을 보호하고 동시에 하나의 스레드만 공유 리소스에 액세스할 수 있도록 보장하는 데 사용됩니다.

사용되는 장면: 공유 리소스가 여러 스레드에 의해 동시에 수정되지 않도록 보호해야 할 때 사용됩니다.

특징: 간단하고 사용하기 쉬우며 대부분의 시나리오에 적합합니다. 재귀 잠금은 불가능하며 동일한 스레드로 여러 번 잠금을 시도하면 교착 상태가 발생합니다.

다음은 사용 방법을 보여주는 간단한 예입니다.