(一)Mutex
头文件是frameworks/native/include/utils/Mutex.h
android中的mutex只是针对pthread提供的API简单的再封装,所以函数声明和实现体都放在同一个文件中,这样做也方便了调用者的操作。
另外,Mutex中还包含一个AutoLock的嵌套类,他是利用变量生命周期特点而设计的一个辅助类。
(二)Condition
头文件是frameworks/native/include/utils/Condition.h
Condition是条件变量在android系统中实现的类,后面的分析我们是可以看到它是依赖Mutex来完成的。
(三)Barrier
头文件是frameworks/native/services/surfaceflinger/Barrier.h
Barrier是同时基于Mutex和Condition实现的一个模型。