读书人

多线程同步,1个老板和5个员工下厕所的

发布时间: 2013-01-11 11:57:35 作者: rapoo

多线程同步,1个老板和5个员工上厕所的问题
我们Process 公司 , 有 1个老板MainThread 和5个员工 WorkThread;

公司只有一个厕所. 老板和员工都要上这个厕所.

有的时候上厕所的人比较多, 所以里面的人就要锁上厕所的门 CreateEvent

这个时候 无论是老板还是员工都得在外面等着. WaitForSingleObject

当里面的员工方便结束的时候, 有没有办法让老板先上厕所?

如果老板这个时候也在排队的话.即使老板是刚来的.


[解决办法]
被楼主的问题勾住了 哈哈

看下链接的内容, 是否符合你的业务要求

http://blog.csdn.net/simonhehe/article/details/8471320
[解决办法]
if WaitForSingleObject(...)<>WAIT_OBJECT_0 then //其它事件或者错误处理
else begin
if 经理.Waiting then 经理.Do
else CurrentObj.Do
end;

To 4楼 Sleep用来抢资源效率非常低.会导致CPU不停的切换线程.
[解决办法]
都由一个调度线程来调度,就好办了

读书人网 >.NET

热点推荐