Re: [問題] Mutex的基本用法(MFC)

看板C_and_CPP (C/C++)作者 (幹!我是肌董)時間11年前 (2015/03/12 15:01), 11年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/3 (看更多)
平台: VS2010 函式庫: MFC ====================================================== 謝謝大家前一篇提供的寶貴意見 現在我做了一個簡單的程式來測試Mutex的功能: 同一個程式開兩次(以下假設為A與B) 當按下A的Button1時 開始計數5秒並秀於螢幕 在5秒之內 也按下B的Button1 會發現B會等A計數完 才開始動作 但有時候(並不是每次發生) B開始動作時 整個程式會卡住 並在視窗上顯示"沒有回應" 等到計數完後 才可繼續使用B... 不知道是哪裡出了問題 = =a 以下為我的程式碼 希望各位熱心的板友 能提供點意見 感激不盡!! CMutex mutex(false,_T("Hughes")); //聲明一個具名的Mutex void CMutextestDlg::OnBnClickedButton1() { mutex.Lock(); //鎖住執行緒 //計數5秒 CString str; for(int i=0;i<=5;i++) { str.Format(_T("%d"),i); SetDlgItemText(IDC_STATIC,str); Sleep(1000); } SetDlgItemText(IDC_STATIC,_T("End")); //代表計數完成 mutex.Unlock(); //開放執行緒 } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.72.212.97 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1426143667.A.C38.html

03/12 15:15, , 1F
你這個會鎖住 window message thread 然後就GG了
03/12 15:15, 1F
謝謝D大回覆@@ 天阿...那請問我該如何修正呢 謝謝!! ※ 編輯: srxrrr (211.72.212.97), 03/13/2015 09:32:09

04/20 21:22, , 2F
卡住跟MUTEX無關,請create thread執行去計數
04/20 21:22, 2F
文章代碼(AID): #1L0Jcpmu (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1L0Jcpmu (C_and_CPP)