• 主页
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux

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

oyxiaoyu0 2020-02-25 11:15:57
多进程,共享内存+读写锁控制。起了20个进程,有个别进程就阻塞卡死状态,然后使用gstack命令查看进程或者gdb attach挂起进程跟一下又不阻塞继续往下走了。敲gstack命令显示阻塞在pthread_rwlock_wrlock函数上。然后进程就往下运行恢复正常,否则就一直阻塞状态
...全文
158 点赞 收藏 1
写回复
1 条回复
老葱1# 2020年02月29日
pthread_rwlock 用共享内存 实现进程间锁 ?, 我只知道在共享内存中用 pthread_mutex_t + 条件变量 可以实现互斥,还得设置pthread_mutexattr_setrobust_np,还得处理进程在加锁后异常退出(未解锁) 的影响。 好像没看到 pthread_rwlock 有owner异常退出 的处理机制 , 建议使用: 高速缓存文件 + flock 实现进程间读写锁 或者用 sys_v semphore 实现
回复 点赞
发动态
发帖子
Linux/Unix社区
创建于2007-08-27

7067

社区成员

7.3w+

社区内容

Linux/Unix社区 应用程序开发区
社区公告
暂无公告