C#中Lock静态字段和实例字段
2017-03-23 15:05
106 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test { class Program { static void Main(string[] args) { var ins= new TestClass(); for (int i = 0; i < 100; i++) { Task.Factory.StartNew(() => { ins.test(); }); } Console.ReadLine(); } } public class TestClass { public static int num = 0; static object lockObjStatic = new object(); object lockObj = new object(); public void test() { object lockObjtemp = new object(); //lockObjtemp 无论是否同一个对象,锁都不起作用 //lockObj 同一个对象下锁起作用,不通的对象下锁不起作用 //lockObjStatic 不管同一个对象还是非同一个对象锁都起作用 lock (lockObjStatic) //正常用锁的时候,一定要锁定私有静态字段 { add(); } } public void add() { num++; Console.WriteLine(TestClass.num); } } }
相关文章推荐
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- C#实例字段、静态字段、只读字段、常量字段。
- c#中静态成员和实例成员(转)
- C#静态方法概念解析实例
- C#实例成员和静态成员
- c#静态方法不可以直接调用实例方法
- C# 静态成员与实例成员
- C# 定义了 7 种变量类别:静态变量、实例变量、数组元素、值参数、引用参数、输出参数和局部变量
- c# 静态成员(静态字段,属性,方法,构造器,类)
- 一起谈.NET技术,关于c#静态方法和实例方法的辨析和应用
- C#语言学习--基础部分(九) --类->静态字段,静态方法,静态类
- C#读写数据库Image字段实例
- .NET(C#)中静态方法或实例方法中调用静态成员或者实例成员,有几种情况?
- 关于c#静态方法和实例方法的辨析和应用
- C#反射新建类实例和调用类方法及属性帮助类 以及获取或设置对象属性中字段值帮助类
- C#反射静态方法开发实例详解(从DataReader将数据填充到数据实体泛型集合)
- 关于c#静态方法和实例方法的辨析和应用(转载)
- C#之域和属性-静态域和实例域
- c#静态方法和实例方法的内存分配问题
- C# 定义了 7 种变量类别:静态变量、实例变量、数组元素、值参数、引用参数、输出参数和局部变量