zxyin4:不错,谢谢!
有个小问题感到奇怪:为什么3个对话框弹出的顺序为2,1,3,而不是1,2,3
(发表于2003-7-9 14:16:00)
shewo:程序太烂了,你的线程根据就没有同步
void CSharedResource::AccessResource()
{
CSingleLock SingleLock(ptrSemaphore);
SingleLock.Lock();
/* ......
资源访问
*/
Sleep(1000);
}
你为了一个窗口访问一个资源用了Sleep(1000),如果我在弹出两个窗口后,等一秒钟,必有一个或两个资源释放,等三个窗口就出来了,所以这样是不行的。
你应该是在窗口中,这样操作。
CSingleLock SingleLock(Semaphore);
SingleLock.Lock()
::MessageBox(...);
SingleLock.Unlock();
(发表于2003-8-18 11:11:00)
BadChen:我特讨厌有些人的说话方式,好像自己就特nb的那种,为什么看不到别人的优点和长处?
(发表于2003-8-24 11:31:00)
windcao::-)
感谢你教会了我使用 CSemaphore
:-(
CSemaphore Semaphore(2,2);
信口雌黄
error C2059: syntax error : 'constant'
负责点好不
(发表于2004-1-8 10:56:00)
greenjava:我真不明白.它的4篇文章至少有2,3篇都有错误,代码根本无法实现同步.竟然还能被选中进入知识库?
(发表于2005-7-11 13:03:00)
only2004:任何一个发文章的作者都应该被尊重。
如果有错误,大家一起讨论修正,共同进步。
(发表于2006-5-11 16:36:00)
hgkx:写得不错,挺清楚的,使用sleep()是为了让大家能够清楚的看到窗口蹦出的过程,如果不使用sleep,三个窗口一下子就全部蹦出来了,不易于程序理解。此设计真是用心良苦。
在这里不得不提一下的是,谦虚使人进步,对别人的心血妄加负面评论是不明智的——缺德。
(发表于2006-11-3 14:48:00)
..........................................................................
--------------------next---------------------
阅读(239) | 评论(0) | 转发(0) |