LINUX多进程写锁卡死阻塞状态,使用gstac命令后又继续往下正常运行

oyxiaoyu0 2020-02-25 11:15:57
多进程,共享内存+读写锁控制。起了20个进程,有个别进程就阻塞卡死状态,然后使用gstack命令查看进程或者gdb attach挂起进程跟一下又不阻塞继续往下走了。敲gstack命令显示阻塞在pthread_rwlock_wrlock函数上。然后进程就往下运行恢复正常,否则就一直阻塞状态
...全文
424 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
老葱1# 2020-02-29
  • 打赏
  • 举报
回复
pthread_rwlock 用共享内存 实现进程间锁 ?, 我只知道在共享内存中用 pthread_mutex_t + 条件变量 可以实现互斥,还得设置pthread_mutexattr_setrobust_np,还得处理进程在加锁后异常退出(未解锁) 的影响。 好像没看到 pthread_rwlock 有owner异常退出 的处理机制 , 建议使用: 高速缓存文件 + flock 实现进程间读写锁 或者用 sys_v semphore 实现

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧