直接回答:线程同步的常用手段包括:互斥锁(mutex)保证临界区互斥;读写锁区分读多写少场景;信号量控制并发资源数量;条件变量实现"等待—通知"协作;自旋锁用于极短临界区;原子操作(CAS 等)实现无锁同步;屏障(barrier)让多个线程在汇合点对齐。

展开解析:选择逻辑:保护共享数据首选互斥锁,语义简单;读远多于写时用读写锁提升并发度;需要按数量限流(如连接池、生产者消费者的有界缓冲)用信号量;条件变量必须与互斥锁配合,等待时要用 while 循环检查条件以防虚假唤醒。原子操作适合计数器、标志位这类小粒度场景,能避免锁开销但只能保护单个变量。所有方案的共性风险是死锁——追问方向:死锁四必要条件、如何避免(固定加锁顺序、超时、锁层级)、锁的粒度与性能权衡(锁粗化/锁消除)。