我从 MSDN 了解 lock 关键字的主要功能
lock 语句(C# 参考)
lock 关键字通过获取给定对象的互斥锁、执行语句然后释放锁来将语句块标记为临界区。
什么时候应该使用锁?
例如,它对多线程应用程序很有意义,因为它可以保护数据。但是当应用程序不分离任何其他线程时是否有必要?
使用锁是否存在性能问题?
我刚刚继承了一个在任何地方都使用锁的应用程序,它是单线程的,我想知道我应该把它们留在里面,它们甚至是必要的吗?
请注意,这更像是一个常识性问题,应用程序速度很好,我想知道这是否是将来要遵循的良好设计模式,或者除非绝对需要,否则应该避免这种情况。