从定义上来讲,如果多个(包括两个)进程间存在时序关系,需要协同工作以完成一项任务,则称为同步;如果它们并不满足协同的条件,而只是因为共享具有排他性的资源时所产生的关系,则称为互斥。
常见的几种方式:
- 信号量
- Metux 互斥体
- 管程
- Linux Futex
Android中的同步机制(aosp12)
-
Mutex.h
system/core/libutils/include/utils/Mutex.h
-
Condition.h
system/core/libutils/include/utils/Condition.h
-
Barrier
external/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h