【并发编程九】c++线程同步——互斥(mutex)

【并发编程九】c++线程同步——互斥(mutex)

  • 一、互斥
    • 1、mutex
      • 1.1、mutex
      • 1.2、 lock_guard
      • 1.3、 RAII
    • 2、std::recursive_mutex
    • 3、std::shared_mutex、std::shared_lock、std::unique_lock
    • 4、std::scoped_lock
  • 二、条件变量
  • 三、future
  • 四、信号量

  • 简介:
    本篇文章,我们详细的介绍下c++标准库提供的线程同步方法中的第一个——互斥(mutex)。

一、互斥

  • 互斥算法避免多个线程同时访问共享资源。这会避免数据竞争,并提供线程间的同步支持。
    前四个定义于头文件 ,后两个定义于头文件
互斥类型 解释
mutex(C++11) 提供基本互斥设施(类)
timed_mutex(C++11) 提供互斥设施,实现有时限锁定(类)
recursive_mutex(C++11) 提供能被同一线程递归锁定的互斥设施(类)
recursive_timed_mutex(C++11)
提供能被同一线程递归锁定的互斥设施,并实现有时限锁定(类)

你可能感兴趣的:(并发编程,c++,开发语言,线程,mutex,互斥)