相关疑难解决方法(0)

为什么锁(这个){...}不好?

MSDN文档说,

public class SomeObject
{
  public void SomeOperation()
  {
    lock(this)
    {
      //Access instance variables
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果可以公开访问实例,那就是"一个问题".我想知道为什么?是因为锁定的持有时间超过了必要的时间吗?还是有一些更阴险的原因?

c# multithreading locking

462
推荐指数
6
解决办法
15万
查看次数

同步计时器以防止重叠

我正在编写一个Windows服务,每隔一段时间运行一次可变长度的活动(数据库扫描和更新).我需要经常运行此任务,但要处理的代码并不安全地同时运行多次.

我怎样才能最简单地设置一个计时器来每隔30秒运行一次任务,而不会重复执行?(我假设System.Threading.Timer这个工作是正确的计时器,但可能会弄错).

c# multithreading timer overlap

18
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×2

multithreading ×2

locking ×1

overlap ×1

timer ×1