摘要:
lock关键字将语句块标记为临界区,确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。如果其他线程尝试进入锁定的代码,则它将一直等待,直到该对象被释放。一般而言,避免锁定public型或无法控制的执行个体。有三种常见的违反这个方针的代码:lock(this)在可公开存取执行个体的情况下,会出现问题lock(typeof(MyType))在可公开存取MyType的情况下,会出现问题lock("myLock")会出现问题最佳的用法是定义要锁定的private或private static对象保护所有执行个体通用的资料。例如:private static object 阅读全文