由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教这段Code到底是哪错了?
相关主题
面试问题一问 (转载)问个 ctor/copy ctor的问题
How to avoid deadlock ?question about mock
c++多线程的工作面试一般会问哪些问题?怎么把const T& 作为一个class的member
linux下, 一个thread 正在写文件,如果另一个thread试图去删去这个文件boost serialization的问题
葵花宝典之四大神功C++ template preprocessor
连续release mutex/semphore 2次有什么问题吗?王垠:程序设计里的“小聪明”(ZZ)
how to debug multi-thread program?问一个Java best practices
C++的一个问题多少公司用 java guice 这烂玩意?
相关话题的讨论汇总
话题: ma话题: mb话题: release话题: take
进入Programming版参与讨论
1 (共1页)
L******r
发帖数: 33
1
Find, correct and explain the defect in the following code snippet.
Mutex mA;
Mutex mB;
Take(mA);
Take(mB);
DoSomething();
Release(mA);
Release(mB);
l*********s
发帖数: 5409
2
B shall be released first.But A, B are redundant anyway.
e****d
发帖数: 895
3
If DoSomething() can throw exceptions ...

【在 L******r 的大作中提到】
: Find, correct and explain the defect in the following code snippet.
: Mutex mA;
: Mutex mB;
: Take(mA);
: Take(mB);
: DoSomething();
: Release(mA);
: Release(mB);

L******r
发帖数: 33
4
1. 好像有人也说要先ReleaseB,好处是什么?
2. DoSomething(), throw error, 那我能做的就是在Catch中ReleaseA and B,好像
和这道题的本意不符?
g**w
发帖数: 969
5
先release B,是假设take A 和take B之间不是空白的。

【在 L******r 的大作中提到】
: 1. 好像有人也说要先ReleaseB,好处是什么?
: 2. DoSomething(), throw error, 那我能做的就是在Catch中ReleaseA and B,好像
: 和这道题的本意不符?

c*****t
发帖数: 1879
6
The reason is to avoid deadlock as in dining philosophers problem.

【在 L******r 的大作中提到】
: 1. 好像有人也说要先ReleaseB,好处是什么?
: 2. DoSomething(), throw error, 那我能做的就是在Catch中ReleaseA and B,好像
: 和这道题的本意不符?

s**********o
发帖数: 197
7
感觉程序没什么错。不过一般来说系统对take顺序是有要求的,比如说只能A B C D这
样来,同时对release也要求反过来,这样也许设计系统的时候会降低些复杂度.
但release顺序我觉得理论上应该不重要
1 (共1页)
进入Programming版参与讨论
相关主题
多少公司用 java guice 这烂玩意?葵花宝典之四大神功
Three C/C++ Programming Questions连续release mutex/semphore 2次有什么问题吗?
请教一个design的问题how to debug multi-thread program?
问个问题C++的一个问题
面试问题一问 (转载)问个 ctor/copy ctor的问题
How to avoid deadlock ?question about mock
c++多线程的工作面试一般会问哪些问题?怎么把const T& 作为一个class的member
linux下, 一个thread 正在写文件,如果另一个thread试图去删去这个文件boost serialization的问题
相关话题的讨论汇总
话题: ma话题: mb话题: release话题: take