社区
C#
帖子详情
lock(this),lock(object),lock("string")区别?
jy02534047
2012-04-18 11:16:05
其中object就是private static readonly object object = new object();
第三个是个字符串
这三者用于处理并发时,有何区别?
...全文
365
7
打赏
收藏
lock(this),lock(object),lock("string")区别?
其中object就是private static readonly object object = new object(); 第三个是个字符串 这三者用于处理并发时,有何区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Rotaxe
2012-04-18
打赏
举报
回复
1.lock不能锁定空值某一对象可以指向Null,但Null是不需要被释放的。
2.lock不能锁定string类型,虽然它也是引用类型的。因为字符串类型被CLR“暂留”
这意味着整个程序中任何给定字符串都只有一个实例,就是这同一个对象表示了所有运行的应用程序域的所有线程中的该文本。因此,只要在应用程序进程中的任何位置处具有相同内容的字符串上放置了锁,就将锁定应用程序中该字符串的所有实例。因此,最好锁定不会被暂留的私有或受保护成员。
3.lock锁定的对象是一个程序块的内存边界
4.值类型不能被lock,因为前文标红字的“对象被释放”,值类型不是引用类型的
5.lock就避免锁定public 类型或不受程序控制的对象。
cheng2005
2012-04-18
打赏
举报
回复
自己去MSDN查lock的说明
http://msdn.microsoft.com/zh-cn/library/c5kehkcz.aspx
jy02534047
2012-04-18
打赏
举报
回复
继续求助
jy02534047
2012-04-18
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
没啥区别,要区别的是参数的作用域,参数需要一个全局的唯一变量,否则lock很容易失去意义
[/Quote]
能说得再明白一点吗?我也没太听懂
orochiheart
2012-04-18
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
没啥区别,要区别的是参数的作用域,参数需要一个全局的唯一变量,否则lock很容易失去意义
[/Quote]
学习!! 但是还是不懂。。。
bdmh
2012-04-18
打赏
举报
回复
没啥区别,要区别的是参数的作用域,参数需要一个全局的唯一变量,否则lock很容易失去意义
铜臂阿铁木
2012-04-18
打赏
举报
回复
lock(this) 如果当前类型是LockTest
那么 l1= new LockTest(),l2 = new LockTest(); l1和l2同时进行操作的时候,这个所没有意义。
lock(static object)
l1和l2同时操作时 有锁的功能。
lock(string) 具有上述两种可能。
拿锁和获取属性类似:看这个锁(属性)的作用域,其他的另作考虑
多线程编程系列学习之---
lock
关键字
本文探讨了C#中
lock
机制的使用方式及其在不同场景下的表现。通过具体示例介绍了
lock
(this)、
lock
(
string
)、
lock
(
object
)及
lock
(static
Object
)的
区别
与优缺点,并讨论了在实际应用中如何选择合适的锁对象。
【C#|.NET】
lock
(this)其实是个坑
本文探讨了在.NET中使用
lock
关键字的不同方式,通过具体案例对比了
lock
(this)、
lock
(
String
)、
lock
(
Object
)及
lock
(Static
Object
)的效果,旨在解决多线程环境下对特定订单进行线程互斥的问题。
C++ this指针深度解析:从内存模型到实战应用
本文深入剖析C++中this指针的本质:它是一个隐式传递的、类型受cv限定符影响的常量指针,是成员函数访问对象数据的基石。内容涵盖其在内存模型中的表现、命名冲突解决、链式调用、Lambda捕获、继承与多态中的指针调整、构造/析构函数使用限制、与std::shared_ptr协作(enable_shared_from_this)、成员函数指针绑定,以及常见陷阱如悬垂this、生命周期错误和线程安全问题。
C#
111,129
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章