码迷,mamicode.com
首页 > Windows程序 > 详细

c# lock

时间:2015-05-25 16:21:47      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

之前学习多线程的时候,始终不能明白lock到底有毛线用。直到最近做了一个项目,里面有很多的线程,但是呢,这些线程都会用到同一个datatable,而且会改变这个table中的内容。当时我就想啊,这几个线程都要改这张表。会不会遇到同时在改这个表里面某一行的情况。后来我机智的给每个线程都复制一张table。心想,这下大家各自改各自的,就可以啦。但是呢,就会导致每个线程都要改同样的数据啊,会非常浪费时间!直到此刻才明白,lock是多么好的朋友,它可以在一个线程修改表的时候,其他线程都不能改这张表。很有用的样子~

lock用法:

//定义共享资源
object obj=new object();
 
//线程函数
void threadFun()
{
   lock(obj)
   {
      //安全的访问资源
   }
}

c# lock

标签:

原文地址:http://www.cnblogs.com/paidaxing/p/4527825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!