请众神帮个忙啊,linux下一个程序,出现了问题,求助啊!!紧急!!
时间:2011-05-20
来源:互联网
问题是这样的:我写了一个linux下多线程处理数据大规模数据的程序,共有三个线程,第一个和第二个之间有锁保证同步,我第三个进程的意图是将分析好的数据写入数据库当中。当我包含进-lmysqlclinet_r这个包之后,发现pthread_cond_signal()这个函数没有起作用,也就是说,第一个线程并没有收到第二个线程为了让它继续而给它的信号量(在此之前这个线程已经wait了),第一个线程因此并没有被唤醒,我想请问诸位大神有没有解决的办法,紧急求助啊!!!在线等待大家的给力回答!!
作者: sujie8185620 发布时间: 2011-05-20
pthread_cond_wait 要等待两个信号
一个是pthread_cond_signal 释放的pthread_cond_t
一个是pthread_mutex_unlock释放的 pthread_mutex_t
看看着两个资源是不是都释放了?
一个是pthread_cond_signal 释放的pthread_cond_t
一个是pthread_mutex_unlock释放的 pthread_mutex_t
看看着两个资源是不是都释放了?
作者: fish_phenix 发布时间: 2011-05-20
刚刚检测了下,两个信号都已经发出了,但是wait并没有接受到。-lmysqlclinet_r这个东西里面会不会有什么全局的东西给屏蔽了我线程同步的机制啊。
作者: sujie8185620 发布时间: 2011-05-20
应该把你的代码贴出来看看。。
作者: qdhyc091 发布时间: 2011-05-20
如果不连接-lmysqlclinet_r,程序行为是正常的吗?
作者: justkk 发布时间: 2011-05-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28