跳至主要內容

51.C++线程同步

约 183 字小于 1 分钟

线程同步

线程同步(Thread Synchronization)用于协调多个线程对共享资源的访问,防止数据竞争(Race Condition)和不一致的问题。

线程同步方法

1.互斥锁(mutex)、
2.条件变量(condition_variable)、
3.原子操作(atomic)


    方法	                        特点	                                **适用场景
std::mutex	            互斥锁,防止竞态	                        保护共享资源
std::lock_guard	        自动管理 mutex,防止死锁	                代码块锁
std::unique_lock	    手动 lock() / unlock(),支持条件变量	    复杂同步


std::condition_variable	线程等待 & 唤醒	                        生产者-消费者

std::atomic	            无锁,轻量级	                            计数器、标志位


std::future	            获取线程返回值	                            异步任务
std::shared_mutex	    读多写少的场景	                            共享数据读写