由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问道面试题
相关主题
问道面试题:一堆数中找最大的100个最新微软SDE II面试题
问道 面试题微软C++面试题
问道fackbook面试题答面试题时候写函数, 返回类型非指针也非void的
问道amazon面试题PornHub C#面试题 (转载)
问道面试题出个题
问道面试题问道Bloomberg的题目。
bloomberg相关的面试题因为身份。。好几个面试都黄了
贴两道面试题问道career cup 上的题目
相关话题的讨论汇总
话题: mlockval话题: void话题: simplelock话题: simplock
进入JobHunting版参与讨论
1 (共1页)
a**********2
发帖数: 340
1
class simplock
{
long mlockval;
public:
void Lock()
{
while (InterlockedDecrement(&mlockval) < 0) {
InterlockedIncrement(&mlockval);
Sleep(0);
}
}
void Unlock()
{
InterlockedIncrement(&mlockval);
}
simplelock()
{
mlockval =1;
}
};
问我这个实现会有什么问题?我觉得好像没问题啊,谁来解释一下,多谢
a********m
发帖数: 15480
2
多线程环境检测和修改在不同行,有可能插入别的操作,是个隐患。但是最大的问题还
是你这个实现是查询方式,太浪费cpu资源了,而且是不是能正确运行取决于当前线程
的优先级。
q****x
发帖数: 7404
3
加锁++,解锁应该--吧。

【在 a**********2 的大作中提到】
: class simplock
: {
: long mlockval;
: public:
: void Lock()
: {
: while (InterlockedDecrement(&mlockval) < 0) {
: InterlockedIncrement(&mlockval);
: Sleep(0);
: }

1 (共1页)
进入JobHunting版参与讨论
相关主题
问道career cup 上的题目问道面试题
问道题:N个小于M的正数中,平均有多少个不相同的数?问道面试题
google intern 面试问题bloomberg相关的面试题
问道题(分球问题)贴两道面试题
问道面试题:一堆数中找最大的100个最新微软SDE II面试题
问道 面试题微软C++面试题
问道fackbook面试题答面试题时候写函数, 返回类型非指针也非void的
问道amazon面试题PornHub C#面试题 (转载)
相关话题的讨论汇总
话题: mlockval话题: void话题: simplelock话题: simplock