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"错误还是其他错误?
当你违反规则时,你会得到哪个错误(如果有的话)取决于平台。所以你必须自己测试才能确定。这是一个"你甚至不允许尝试这个"的条件,所以当你这样做的时候没有规则。
相关文章:
- OpenCV - Python 断言错误:SAD 算法 - 立体相机视差图计算
- 我收到一个断言错误,但是当我编写 cout 语句时,它会消失
- 尝试删除指向派生对象的基指针时断言错误
- Sysmalloc:使用向量的断言错误
- OpenCV CV 查找单应断言错误计数器 = > 4
- Mat的convertTo函数在OpenCV中将灰度图像的类型转换为CV_32F时抱怨断言错误
- 是什么导致我的C 代码中的断言错误
- 迭代器取消引用断言错误
- boost::shared_ptr 断言错误与 boost::asio:io_service
- CDao数据库断言错误
- STL 迭代器:断言错误
- 断言错误,字符串下标超出范围
- 调试断言错误-OpenCV
- 向量push_back会导致断言错误,但列表push_back有效
- 如何在子进程中禁用断言错误对话框
- OpenCV.norm中的断言错误
- 将功能区添加到现有的非功能区 mfc 项目 - 在 VS2010 中断言错误
- 访问指向像素openCV的指针时发生断言错误
- 断言错误,即使在使用 new 初始化字符指针后也是如此
- 使用结构向量 c++ 的断言错误