共用三个函数:
mutex_lock() mutex_unlock() mutex_trylock()
pthread_mutex_lock给安卓上层使用,mutex_lock给kernel使用,本质是一样的,都是IPC通信中的互斥锁,只不过安卓上层封装出pthread_mutex_lock。
pthread_mutex_lock会阻塞,pthread_mutex_trylock是非阻塞的。
举例:lock
当A线程去lock一个锁时,如果该锁已被其他线程锁住,则A线程会被挂起,等待该锁被释放后,再进行lock。
举例:trylock
当线程A去trylock一个锁时,如果该锁被占用,则返回false,则线程A继续执行下面的程序,不会被挂起。
总结: trylock就是尝试锁一下,锁不到就拉倒,不会影响自己进行下一步操作。lock就比较犟,锁不到的话,我就等着,等到我能锁了,再进行一下步操作。