我有一個對話框,帶有一些複選框控件項目。從多個線程(C++)訪問對話框項目
該對話框可以創建一個工作線程,它可以在運行時訪問其中的某些控制項。
但是,用戶還可以在工作線程運行時修改這些複選框控件項目。
雖然不太可能發生這種情況,但線程會在用戶想要更改它們的時刻嘗試讀取其中的某些項目。
如何在主線程和工作線程之間保護對話框項併發訪問?
我想我應該創建一個互斥體,並且很容易從工作線程使用這個互斥體,但是當用戶想要的時候,我沒有看到我可以在哪裏插入代碼來鎖定具有相同互斥體的對話框項目更改。
有沒有人可以幫助我呢?
在此先感謝。
Gingko
對不起,我正在使用Visual Studio在Windows(任何最新版本)上工作。 其實,我期待直接共享對話框項目,因爲現在我需要訪問一個複選框項目,可能以後我需要訪問更復雜的項目(如兩個線程可能想要的列表框訪問)。 Gingko – GingkoFr 2011-05-25 11:29:08
@Gingko您只能與該HWND具有親和力的線程中的窗口控件(即具有'HWND'的任何東西)進行交互。這是調用CreateWindow的線程。幾乎總是這是你的應用程序的主線。您不能直接從不同的線程訪問窗口項目。 – 2011-05-25 11:36:06