多线程同步,1个老板和5个员工下厕所的有关问题
多线程同步,1个老板和5个员工上厕所的问题
我们Process 公司 , 有 1个老板MainThread 和5个员工 WorkThread;
公司只有一个厕所. 老板和员工都要上这个厕所.
有的时候上厕所的人比较多, 所以里面的人就要锁上厕所的门 CreateEvent
这个时候 无论是老板还是员工都得在外面等着. WaitForSingleObject
当里面的员工方便结束的时候, 有没有办法让老板先上厕所?
如果老板这个时候也在排队的话.即使老板是刚来的.
------解决方案--------------------
看看线程的优先级你懂的!
------解决方案--------------------
如此生动!!!
------解决方案--------------------

------解决方案--------------------
被楼主的问题勾住了 哈哈
看下链接的内容, 是否符合你的业务要求
http://blog.****.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不停的切换线程.
------解决方案--------------------
都由一个调度线程来调度,就好办了
我们Process 公司 , 有 1个老板MainThread 和5个员工 WorkThread;
公司只有一个厕所. 老板和员工都要上这个厕所.
有的时候上厕所的人比较多, 所以里面的人就要锁上厕所的门 CreateEvent
这个时候 无论是老板还是员工都得在外面等着. WaitForSingleObject
当里面的员工方便结束的时候, 有没有办法让老板先上厕所?
如果老板这个时候也在排队的话.即使老板是刚来的.
多线程
------解决方案--------------------
看看线程的优先级你懂的!
------解决方案--------------------
如此生动!!!
------解决方案--------------------
------解决方案--------------------
被楼主的问题勾住了 哈哈
看下链接的内容, 是否符合你的业务要求
http://blog.****.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不停的切换线程.
------解决方案--------------------
都由一个调度线程来调度,就好办了