ошибка wxWidget, [ошибка из-за концепции потока] - PullRequest
0 голосов
/ 01 апреля 2011

я использую wxWidget, а там я использую wxThread, иногда дела идут хорошо, иногда дают неожиданный результат .... как только я получаю сообщение об ошибке, например:значение этой ошибки

Ответы [ 2 ]

1 голос
/ 02 апреля 2011

Ошибка подтверждения мьютекса Pthread

Обновление: вы, вероятно, обращаетесь к графическому интерфейсу wx из другого потока, а не из основного потока. Никогда не вызывайте какие-либо связанные с графическим интерфейсом функции и не создавайте экземпляры каких-либо элементов графического интерфейса wxWidgets из любого другого потока, кроме основного потока.

В некоторых случаях возможно получить доступ к GUI из другого потока, если доступ к GUI обернут вызовами wxMutexGUIEnter и wxMutexGUILeave, но это не рекомендуется.

0 голосов
/ 06 апреля 2011

По сути, проблема была в Thread, wxThread, по умолчанию используется Detatched, он автоматически удаляется по окончании работы. здесь во время потока жив, когда мы проверяем
if (obj-> IsAlive ())
, нет проблем, но когда конец потока, то мы проверили это `if (obj -> IsAlive) показывает проблему, потому что при удалении потока нет объекта thread.still, мы проверяем это. [это была главная проблема]. я использую переменную extern, чтобы проверить, является ли поток живым или мертвым, теперь мой код работает нормально

...