我正在使用wxWidget并且我使用wxThread,有时候事情进展顺利,有时会给出意想不到的结果.... 一旦我得到错误,如: -
ass8-1-login_report: pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed.
请有人告诉我这个错误是什么意思
答案 0 :(得分:1)
更新:您可能正在从主线程以外的其他线程访问wx GUI。永远不要调用任何与GUI相关的函数,也不要从主线程以外的任何其他线程中实例化任何wxWidgets GUI元素。
在某些情况下,如果通过调用wxMutexGUIEnter和wxMutexGUILeave来访问GUI,则可以从另一个线程访问GUI,但不建议这样做。
答案 1 :(得分:0)
基本问题是Thread,wxThread,默认情况下线程是Detatched,它在完成工作时会自动删除。我们检查时,在线程活动期间
if(obj-> IsAlive())
没问题但是当线程结束时我们检查了这个
`if(obj - > IsAlive)显示问题,因为当线程删除时,没有thread.still的对象,我们正在检查它。 [这是主要的问题]。我使用extern变量检查线程是活的还是死的,现在我的代码工作正常