lock(object)访问共享数据
最近使用log4net做系统日志的日后看到有朋友使用了在创建对象前使用了lock(object) ,查阅了资料后得知是c#提供的对于共享和互斥资源访问的一个机制。经常碰到同时需要对某个数据进行操作,或者对某个文件进行读写操作,对于这些操作我们以前往往不能很好的进行处理,自从C#语言中引入了lock这个关键字,以上问题就比较容易予以解决了,下面就是一段简单的代码。
public class AccessControl()
{ private static object privateObjectLock = new object(); public static AccessResult() { lock(privateObjectLock) { //数据操作语句 } } } |