b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

releasemutex_mutex同步_mutex代替event(2)

电脑杂谈  发布时间:2017-01-01 22:00:38  来源:网络整理

------解决方案--------------------

引用:这个问题看了很多网页,用了好几天的时间调试追踪,总算解决了,还是《Window核心编程》解释得比较清楚。

多个进程不同时刻是可以支配同一个mutex的。这里的关键是锁的所有者owner要说清楚:所有者不一定是创建者CreateMutex,而是加锁的进程,什么是加锁的进程?谁waitfor了,谁就加锁,就是该mutex当前的owner,必须由该进程Release。其它进程才能waitfor。关键是每个mutex个实例(object)中有一个数据成员,会记录它的owner。

A进程CreateMutex设置第2个BOOLbInitialOwner,//初始化互斥对象的所有者,则A相当于加锁,是该mutex当前的owner,释放后,其它进程才可以waitfor。如果CreateMutex第2个参数是false,则任何进程都可以waitfor,并立即成为该mutex的owner。

另外,一个进程如果是某mutex的owner,可以连续多次waitfor该锁,object中有一个成员计数。要注意的是,一次Release是解不开n次加锁的,可能会造成调试中的困扰。

所以呢,网友们的解释总是很模糊,可以是没有实际编程经历,或者是表达能力有问题。

在楼主发的这三个帖中学习到了,给楼主加关注了,很佩服楼主的这种精神,值得我学习,不过我还是没能看懂上面话的意思,我再体会体会。

------解决方案--------------------

引用:这个问题看了很多网页,用了好几天的时间调试追踪,总算解决了,还是《Window核心编程》解释得比较清楚。

多个进程不同时刻是可以支配同一个mutex的。这里的关键是锁的所有者owner要说清楚:所有者不一定是创建者CreateMutex,而是加锁的进程,什么是加锁的进程?谁waitfor了,谁就加锁,就是该mutex当前的owner,必须由该进程Release。其它进程才能waitfor。关键是每个mutex个实例(object)中有一个数据成员,会记录它的owner。

A进程CreateMutex设置第2个BOOLbInitialOwner,//初始化互斥对象的所有者,则A相当于加锁,是该mutex当前的owner,释放后,其它进程才可以waitfor。如果CreateMutex第2个参数是false,则任何进程都可以waitfor,并立即成为该mutex的owner。

另外,一个进程如果是某mutex的owner,可以连续多次waitfor该锁,object中有一个成员计数。要注意的是,一次Release是解不开n次加锁的,可能会造成调试中的困扰。

所以呢,网友们的解释总是很模糊,可以是没有实际编程经历,或者是表达能力有问题。

所以还是因为参数的原因影响了谁获取到mutex才造成了一系列问题。

------解决方案--------------------

我总觉得这是理所当然的事,没想到可能有些人理解会出现歧义.

这让我明白一个理:

你认为简单的事,可能对别人是复杂的事.别觉得别人笨,可能只是理解上的一些差别。

你认为复杂的事,可能对别人是简单的事.别觉得自己笨,可能只是理解上的一些差别。

------解决方案--------------------

引用:Quote: 引用:

同名的mutex最多只允许一个thread获取owner。所有不管多少进程或线程在等待同一个mutex,只有一个允许运行。

按你的例子:一个进程(假设主进程)CreateMutex(NULL,TRUE,“ReadWrite11”)成功,GetLastError==0,那么返回的handle已经被这个进程拥有了,其它进程(不管多少,假设是子进程)同样CreateMutex(NULL,TRUE,“ReadWrite11”),如果成功返回了handle,并且GetLastError==ERROR_ALREADY_EXISTS,这个进程并不拥有这个mutex,但是你可以用wait系列函数等待拥有者释放它。此时主进程调用ReleaseMutex释放拥有权,等待的某个进程可以获取这个mutex,如果主进程又一次希望拥有这个mutex,那么主进程可以用wait系列函数等待拥有这个mutex的子进程调用ReleaseMutex。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-24256-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 田彤彤
      田彤彤

      甚至对我们示好

    • 张平
      张平

      日本海军联合舰队总吨位是超过北洋舰队的

    热点图片
    拼命载入中...