lock 的问题。。

mugua604 2011-01-25 09:57:50
lock(obj)
{
}

我想得到OBJ是否被锁?
...全文
201 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjx198934 2011-01-26
  • 打赏
  • 举报
回复
二楼就可以了 信号量!
兔子-顾问 2011-01-26
  • 打赏
  • 举报
回复
up 2楼的精巧
wllllll 2011-01-26
  • 打赏
  • 举报
回复
private Boolean IsLocked(Object dObject) {
if (!Monitor.TryEnter(dObject)) return true;
Monitor.Exit(dObject);
return false;
}

刚才不是问过了么, 这样是可以返回是否加锁状态的
机器人 2011-01-26
  • 打赏
  • 举报
回复
看你这个 classt 实例所在的作用域。
如果classt被定义为一个类成员,那么在这个类的生存周期里,
lock(obj) 语句块被同步。

注意:lock不是用来锁对象的!是用来同步代码块的!
mugua604 2011-01-26
  • 打赏
  • 举报
回复

classt obj = new classt(dd);
private static bool isLocked = false;

if (isLocked)
// 被加上锁。。。。
else
// 未上锁。。。

lock(obj)
{
isLocked = true;
...
isLocked = false;
}


是不是锁了所有classt的类的实例??
机器人 2011-01-25
  • 打赏
  • 举报
回复
加个bool就可以了。或者直接给obj赋值。。。

private static bool isLocked = false;

if (isLocked)
// 被加上锁。。。。
else
// 未上锁。。。

lock(obj)
{
isLocked = true;
...
isLocked = false;
}

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧