總之我試圖實現一個GUI到我的網絡應用程序。他們都有mainloop(),所以我試圖把它們放到單獨的線程中,我使用boost :: thread。wxwidgets的mainloop()和boost :: thread
//standard initialization of boost::thread
GuiThread.join();
NetworkThread.join();
但是,上述崩潰原因未知。我正在尋找任何方式來做同樣的事情,所以任何建議將不勝感激。
在此先感謝,紅。
編輯:
我創建wxWidgets的主循環中的boost ::線程GuiThread像這樣:
boost::thread GuiThread = boost::thread (boost::bind(&myAppClass::MainLoop(), this));
和Networkthread同樣的方式。
然後我重寫wxApp OnRun()函數,就像這樣:
int OnRun() {
GuiThread.join();
NetworkThread.join();
return 0;
}
當我運行它(在VS2010),它說:MYAPP.EXE引發了斷點,如果我按繼續停止顯示窗口,如果我按開始它顯示我彙編。
沒有足夠的信息。什麼崩潰,哪裏崩潰,如何崩潰... –
@Igor R.我在那裏編輯它。 –
你確定從其他線程訪問wxwidgets gui是合法的嗎?你最好把這個gui循環放在主要的thead中,並且只爲網絡循環啓動另一個線程。 –