pthread_mutex_lock() 和 pthread_mutex_trylock() 有什么区别

Val*_*ade 1 c linux pthreads

我正在使用并行编程编写应用程序并希望使用同步。有什么区别pthread_mutex_lockpthread_mutex_trylock()什么时候应该使用它们?

Ker*_* SB 5

lock阻塞并且只有在它有锁时才返回,trylock立即返回并且可以成功或失败获得锁。

一个手册通常可以回答这样的问题。

  • 您必须问自己的问题是:我可以等待锁定吗?如果我没有获得锁是否可以(因为我可以稍后重试,或者因为我有一种无需锁就可以完成工作的方法)?当你回答这些问题时,应该很清楚你想要哪一个。 (2认同)