wxWidget错误,[由于线程概念导致的错误]

时间:2011-04-01 13:43:51

标签: wxwidgets

我正在使用wxWidget并且我使用wxThread,有时候事情进展顺利,有时会给出意想不到的结果.... 一旦我得到错误,如: -

ass8-1-login_report: pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed.

请有人告诉我这个错误是什么意思

2 个答案:

答案 0 :(得分:1)

Pthread mutex assertion error

更新:您可能正在从主线程以外的其他线程访问wx GUI。永远不要调用任何与GUI相关的函数,也不要从主线程以外的任何其他线程中实例化任何wxWidgets GUI元素。

在某些情况下,如果通过调用wxMutexGUIEnter和wxMutexGUILeave来访问GUI,则可以从另一个线程访问GUI,但不建议这样做。

答案 1 :(得分:0)

基本问题是Thread,wxThread,默认情况下线程是Detatched,它在完成工作时会自动删除。我们检查时,在线程活动期间 if(obj-> IsAlive())
没问题但是当线程结束时我们检查了这个 `if(obj - > IsAlive)显示问题,因为当线程删除时,没有thread.still的对象,我们正在检查它。 [这是主要的问题]。我使用extern变量检查线程是活的还是死的,现在我的代码工作正常