Aqu*_*irl 3 multithreading mutex pthreads
在非递归互斥锁的情况下,没有归属感,任何线程通常都可以释放互斥锁,无论哪个线程最初占用了互斥锁。
我对互斥锁的研究是,当一个线程想要对共享对象做某事时,它会获取它,当它完成它想做的任何事情时,它就会释放锁。同时其他线程可以休眠或自旋锁。
上面引用的“任何线程通常可以释放互斥锁,无论哪个线程最初占用互斥锁”是什么意思。?
我失踪的重点是什么?
这在不同的线程实现之间可能有所不同,但是由于您已经用“pthreads”标记了您的问题,我假设您对 pthread 互斥锁(而不是 vxworks 互斥锁,这显然是您提供的链接所描述的)感兴趣。
所以在 pthreads 中,规则是锁定互斥锁的同一个线程必须解锁它。您可以在互斥对象上设置属性,无论您是希望在违反此规则时生成错误,还是结果是未定义的行为(例如,对于调试版本还是发布版本)。有关详细信息,请参阅 pthread_mutexattr_settype 函数的联机帮助页。
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |