错误描述:
为了让程序执行某个功能一次后退出,假设flag标记该功能是否执行过,除了要用互斥量对变量做同步之外,如果发现flag已经被赋值之后,直接让程序退出,会稳定遇到如下错误:
pthread_mutex_destroy failed with EBUSY in /ssd/workspace/build-rel_mib3_clu31_integration-framework/xxxxxxxx.cxx:79, ~MutexImpl
解决办法:
usleep让thread挂起一段时间,再让其退出。为什么不用sleep?因为sleep的单位是s。usleep单位是微秒。
参考:
https://blog.csdn.net/sunxiaopengsun/article/details/54313834