private void Count()
{
lock (this)
// {
for (int i = 0; i < 10000; i++)
{
int num = int.Parse(tBox1.Text.Trim());
num++;
tBox1.Text = num.ToString();
}
// }
}
C# lock(this)后面的作用域{}可有可无吗?代码如下
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答
- threenewbee 2016-11-14 06:41关注
https://msdn.microsoft.com/zh-cn/library/c5kehkcz(VS.80).aspx
通常,应避免锁定 public 类型,否则实例将超出代码的控制范围。常见的结构 lock (this)、lock (typeof (MyType)) 和 lock ("myLock") 违反此准则
不要写 lock(this)
而应该定义一个objectobject lockobj = new object(); lock (lockobj) { ... }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报