繁体   English   中英

pthreads互斥锁定断言错误

[英]pthreads mutex lock assertion error

我有两个线程(通过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之后锁定相同的互斥锁,你会得到“this”错误还是其他一些错误?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM