錯誤描述:
爲了讓程序執行某個功能一次後退出,假設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