前段时间使用Posix Thread做多线程开发,用的是ACE的ACE_Service_Config框架,AIX环境,在重新刷新配置reconfigure马上core dump,用dbx调试发现core在pthread_cond_wait上,百思不得其解,后来查pthread资料,发现pthread_cond_wait以及POSIX线程锁机制都不是异步信号安全的,也就是说,不应该在信号处理过程中使用互斥锁,否则容易造成死锁。而我正是使用信号进行通知服务框架进行reconfigure,看来问题原因应该是此,修改程序不使用信号通知,直接在主线程reconfigure,一切搞定。
pthread线程同步开发注意问题
最新推荐文章于 2024-08-27 20:56:19 发布