2009-07-15 32 views

回答

3

日誌記錄在wxWidgets主幹中最近有幾個主要更新,你可以閱讀關於他們here。其中之一是添加對主線程以外線程的日誌記錄支持。

1

它以何種方式失敗?我不熟悉wxTextCtrl,但除非它已經建立在同步(即它的線程安全),這可能是一個大問題。像這樣保護單個資源的最簡單方法是通過一個名爲「互斥體」。以下示例是您可以在每個線程中執行的操作,以確保一次只能訪問此資源(輸出窗口)。

// In each thread's initialization: 
HANDLE mutexHandle = CreateMutex(0,FALSE,"__my_protecting_mutex__"); 


// Whenever you use the debug output: 

WaitForSingleObject(mutexHandle, /* Timeout if you like. */ 0xFFFFFFFF); 
// Do our printing here. 
ReleaseMutex(mutexHandle); 


// In each thread's cleanup: 
CloseHandle(mutexHandle); 

所以這基本上保證只有一個線程可以等待和釋放之間是英寸現在如果你的問題實際上是路由到wxTextCtrl,我需要一些更多的細節。

編輯:我剛剛意識到,我發佈的是Windows特定的,也許你不在窗戶上!如果你不是,我沒有其他平臺的同步方法的經驗,但增強有一些通用的庫,這是不是平臺特定的。

+0

wxWidgets具有內置的跨平臺wxMutex類 http://docs.wxwidgets.org/stable/wx_wxmutex.html – GRB 2009-07-15 03:32:20

相關問題