2015-02-04 38 views

回答

1

升压thread_group是一组线程。

所有线程,顾名思义,鲜明而独特。所以,如果你的互斥锁失败......“mut-ex”(相互排斥),这表示其他地方的程序员错误。

一时兴起,我建议您也许对互斥量的期望(递归与否)不准确(与线程组的期望类似)?

您可能错过的是全部访问共享对象/必须/在这些访问的所有时间获取互斥锁。这是不够有一个线程“保护”共享对象,以神奇的方式保持其他线程。

互斥体是一个共同的命题。在这方面,术语“关键部分”实际上更好一些:用代码“标记”关键部分,而不是“标记”关键数据(不管那将是什么)。

+0

究竟:互斥不保护任何变量或值或存储空间。互斥锁是一组带有一个键的门。您可以在您想要保护的区域四周放置门,并保证只有一根线可随时打开任何门。 –

+0

我认为我对互斥体的理解是足够准确的。 –

+0

@JasonHarrison好的!当然,根据你提到的几件事情(这是模棱两可的,所以我相信你,如果你说你这样做)。随意忽略这一部分。 – sehe