请问lock(this)在多个实例中是互斥的吗? class a{ public void b() { lock(this) { ... } }}然后class a1 = new a();class a2 = new a();a1,a2针对lock中的...内容是互斥的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是的参考:http://blog.csdn.net/chengking/archive/2005/11/30/540644.aspx 按照楼主的描述应该不是的,但lock是一般用来互斥的 lock 关键字可将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。此语句的形式如下:lock(expression) statement_block其中: expression 指定要锁定的对象。expression 必须是引用类型。 通常,如果要保护实例变量,则 expression 为 this;如果要保护 static 变量(或者如果临界区出现在给定类的静态方法中),则 expression 为 typeOf (class)。 statement_block 临界区的语句。 摘自msdnlock ( this )只保护本实例 不会,lock(this)只用于当前实例不同线程,不同实体并不会互斥。如果你想方法在所有实例中进行互斥要使用lock(type) 晕ChengKing这样的高手都回答是“是”呢?a1和a2两实例不会互斥啊. 求一个C# GUI的项目最好是带SQLSEVER c#如何打印一次打印不同字体或字体大小的文字呢 c#中读取二进制 请大家推荐几本好点的书 关于DataGrid操作问题,急!!!!!!!!!! 一个求职的比试题,请大家帮帮忙 如何根据关键列字段动态改变DataGridViewCOMBOX列的绑定选项? 如何访问 TcpClient 类受保护的Active属性 添加音频控件(media player或realone)后运行老出错 winfom如何装载本地网页? 如何保存不同字符串产生的哈稀码是唯一的 如何在DataGrid里根据某一列的值是空来把该行数据变个颜色显示
http://blog.csdn.net/chengking/archive/2005/11/30/540644.aspx
其中: expression
指定要锁定的对象。expression 必须是引用类型。
通常,如果要保护实例变量,则 expression 为 this;如果要保护 static 变量(或者如果临界区出现在给定类的静态方法中),则 expression 为 typeOf (class)。 statement_block
临界区的语句。
摘自msdn
lock ( this )只保护本实例
如果你想方法在所有实例中进行互斥要使用lock(type)