如果给一个对象同时加俩次锁会有什么影响?

zhmvb 2009-03-16 02:18:38
如代码:

while (true)
{
Monitor.Enter(db);
lock (db)
{
for (int i = 0; i < db.Rows.Count; i++)
{
Console.WriteLine("{0},{1}", db.Rows[i]["id"], db.Rows[i]["tm"]);
}
}
Monitor.Exit(db);
Thread.Sleep(30);
}
...全文
165 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
relive_qiankai 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cppfaq 的回复:]
Monitor.Enter对本线程没有互斥作用。
lock关键字其实就是对Monitor类的Enter()和Exit()方法的封装。
Enter多次有啥意义呢?
[/Quote]

学习了,支持!
cppfaq 2009-03-16
  • 打赏
  • 举报
回复
Monitor.Enter对本线程没有互斥作用。
lock关键字其实就是对Monitor类的Enter()和Exit()方法的封装。
Enter多次有啥意义呢?
周公 2009-03-16
  • 打赏
  • 举报
回复
避免在多线程环境下对象的不同步。
wzd24 2009-03-16
  • 打赏
  • 举报
回复
为什么要这样???
和加一次锁是一样的。

111,126

社区成员

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

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

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