工作執行緒中使用UpdateData出錯解決方法

2021-06-29 02:08:26 字數 722 閱讀 8252

在工作執行緒中不能使用updatedata來更新主線程中的資料。介面的東西,最好就是用主線程(介面執行緒)去執行相應的操作。要想在子執行緒(工作執行緒)裡執行介面執行緒的操作,最好是向主線程傳送訊息。因為mfc的cwnd用到了tls,所以不是執行緒安全的。

解決辦法:

1.定義乙個訊息 #define wm_update_message (wm_user+200)

2.定義訊息對映

begin_message_map(ccserverdlg, cdialog)

//}afx_msg_map

end_message_map()

3. 定義訊息處理函式

// generated message map functions

//}afx_msg

declare_message_map()

4. 完成函式內容,只需呼叫updatedata()即可

lresult c***dlg::onupdatemessage(wparam wparam, lparam lparam)

5.執行緒中的呼叫

uint c***dlg::clientthread(lpvoid lpparam)

6.程式中呼叫

// cwinthread* pthread;

// static uint clientthread(lpvoid lpparm);

void ccserverdlg::onsstart() 

django logger(工作中使用)

1 setting.py 注意 建立log資料夾 存放log的目錄 logging dir os.path.join base dir,log logging verbose standard handlers 用來定義具體處理日誌的方式,可以定義多種,default 就是預設方式,console ...

c 中使用多執行緒

using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system.threa...

c 中使用多執行緒

using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system.threa...