读C# Language Specification 1.2 CN.doc 心得(2)
2006-03-16 17:10
239 查看
Lock:
C#只能lock 引用类型的值,如果lock一个int, bool,编译器会报错。
当一个互斥锁已被占用时,在同一线程中执行的代码仍可以获取和释放该锁。但是,在其他线程中执行的代码在该锁被释放前是无法获得它的。
建议不要使用锁定对象类型之种方法来同步对静态数据的访问。您无权控制的其他代码可能也会锁定您的类类型。这可能导致死锁。因此,请使用锁定私有静态对象这种方法来同步对静态数据的访问。
也就不是说不能写类似lock (typeof(this)) {} 的不规范语句。
C#只能lock 引用类型的值,如果lock一个int, bool,编译器会报错。
当一个互斥锁已被占用时,在同一线程中执行的代码仍可以获取和释放该锁。但是,在其他线程中执行的代码在该锁被释放前是无法获得它的。
建议不要使用锁定对象类型之种方法来同步对静态数据的访问。您无权控制的其他代码可能也会锁定您的类类型。这可能导致死锁。因此,请使用锁定私有静态对象这种方法来同步对静态数据的访问。
也就不是说不能写类似lock (typeof(this)) {} 的不规范语句。
相关文章推荐
- 读C# Language Specification 1.2 CN.doc 心得(1)
- C# Language Specification 1.2 之一 C#简介
- C# Language Specification 1.2 之二 词法结构
- C# Language Specification 1.2 之三 基本概念
- C# Language Specification 3.0 Cn
- C# Language Specification 1.2 之四 类型
- C# Language Specification 1.2 之五 变量
- C# Language Specification 1.2 之六 转换
- C# Language Specification
- C# Language Specification
- C# Language Specification
- C# Language Specification---where
- CSharp Language Specification.doc
- 使用C#操作Doc转Txt存数据库
- C#的Delegate的小心得
- C# 2.0 Specification (四)
- 使用飞信VMDotNet使C#程序脱离.NET FRAMEWORK也能运行的一些心得 ------(我复制别个的)
- (轉貼) C++/CLI Language Specification (ECMA-372) (.NET) (C++/CLI) (C/C++)
- Some New in C# 3.0 language
- 关于C#(ASP.net)存取MySQL LongText字段的心得