- 什么是内部链接?
- 什么是另类竞价?另类竞价到底是什么?
- 石家庄飞讯网站建设session失效过快的解决办法
- 搜索引擎robots协议怎么写利于seo优化?什么是网站robots呢?
- 购买成功的一口价域名还在售卖页面显示
- Request.Form的用法
- 手机网页的制作方法七_WML表单内容
- php中的public, private 、 protected
- 网站快速上排名-网站快速排名优化方法
- document.write()和document.writeln()有什么区别
邮箱:
手机:15383239821
lock 关键字在c#中的用法
lock 对象。主要用于处理并发问题。
目的:解决线程同步访问共享资源的问题
使用大意:lock住一个全局变量,就相当于告诉别的线程,我在使用这个全局变量,请等待。当线程推出lock的作用域时,就释放了对全局变量的锁,其他等待的线程可以访问该资源了。
lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。
lock 语句以关键字 lock 开头,它有一个作为参数的对象,在该参数的后面还有一个一次只能由一个线程执行的代码块。例如:
C# 代码
public void Function()
{
System.Object lockThis = new System.Object();
lock(lockThis)
{
// Access thread-sensitive resources.
}
}
//定义共享资源
object obj=new object();
//线程函数
void threadFun()
{
lock(obj)
{
//安全的访问资源
}
}
锁住当前实例:lock(this)
锁住此类的所有实例:lock(typeof([Type]))
对字符串的锁,会锁定所有相同内容的字符串,建议可以用静态字符串代替
假设你做了一个页面,上面一按钮,按了按钮以后做以下处理:
在服务器上打开文本文件,读取其中第一行的数字,+1,再写入,关闭文件。
其实就是个计数器哈。
当点的人特别多的时候,就会有上一个人的文件操作还没完成,下一个人又要打开,就会出现文件共享权限错误。
这时你定义一个static object obj;
lock(obj)
执行文件操作
因obj是static,被锁后其他线程无法访问,就会等待解锁,就不会执行文件操作,也不会出错了。、
- 上一篇:c#中lock使用
- 下一篇:c#中WebRequest类
-
2013-11-22Image.ImageUrl 屬性
-
2011-03-19c#中的int、int.parse、convert32之间的区别
-
2019-12-04淘宝里面说的种草拔草是指的什么
-
2010-07-20网页信噪比与相关度计算
-
2026-01-31布局的几种大小xs,sm,md,lg,xl
-
2012-06-30北京SEO谈网站外链锚文本如何设置分析
