ubuntu下多线程程序运行出现:Assertion `mutex->__data.__owner == 0' failed异常
时间:2011-11-04
来源:互联网
如题,编写的是一个单生产者多消费者的多线程程序,用来拷贝数据,在gcc下编译运行。程序在拷贝小文件(1M左右)的时候运行正常,但是在拷贝大文件的时候就出现了以上异常,根据程序的运行我可以判断我的程序应该没有死锁情况发生,但是就是在拷贝进行到一段时间后出现异常:“main: pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed. 已放弃”,最后程序被终止,各位大侠知道这是什么原因引起的么?如何解决?(分不多,见谅!)
作者: yxz329130952 发布时间: 2011-11-04
你的代码里有pthread_mutex_lock.c这个文件?你自己的源码吗?使用线程锁,一般不都是用linux提供的吗?
作者: dongjiawei316 发布时间: 2011-11-04
肯定是加解锁有问题,线程自己加的锁记得自己解除,如果忘解或者让别的线程解,行为未定义.
作者: qq120848369 发布时间: 2011-11-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28