Re: [问题] Mutex的基本用法(MFC)

楼主: srxrrr (干!我是肌董)   2015-03-12 15:01:04
平台: 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(); //开放执行绪
}
作者: Dforce (VF-17)   2015-03-12 15:15:00
你这个会锁住 window message thread 然后就GG了

Links booklink

Contact Us: admin [ a t ] ucptt.com