C# Lock 关键字锁定静态变量和非静态变量的区别

private static readonly object Locker1 = new object();
private readonly object Locker2 = new object();

单实例非静态锁,线程没有并发(加锁成功);

单实例静态所,线程没有并发(加锁成功);

多实例非静态所,线程并发(加锁失败);

多实例静态所,线程没有并发(加锁成功)



猜你喜欢

转载自blog.csdn.net/huijunma2010/article/details/53540606