pthreads互斥锁定断言错误

时间:2012-02-04 02:30:05

标签: c++ pthreads

我有两个主题(通过pthread_create创建)。它们是join - 有能力的线程(未分离)。 但我不知道pthread_join,我知道错,但问题不是那样。 线程在堆上共享数据结构,其中包含互斥锁。 只有锁定它的线程才能解锁互斥锁。

我在一些随机案件中遇到以下错误。

pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0'

在这种情况下,如果thread2正确解锁互斥锁并且pthread_destroy并且通过exit(1)而死,那么现在问题是,如果thread1尝试在pthread_destroy之后锁定相同的互斥锁,那么你会得到“这个“错误或其他一些错误?

1 个答案:

答案 0 :(得分:2)

当您违反规则时,您获得的错误(如果有)取决于平台。所以你必须自己测试才能确定。这是“你甚至不允许尝试这种情况”的条件,所以当你这样做时,没有规则可以发生。