惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
V
V2EX
Jina AI
Jina AI
爱范儿
爱范儿
M
MIT News - Artificial intelligence
量子位
L
LangChain Blog
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
腾讯CDC
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss

博客园 - 那只狐狸

线程与GC 神奇的Task.WaitALl Redis的淘汰策略 压测工具k6 SqlServer高性能批量插入 二叉树 二叉搜索树 AVL树 红黑树 关于GC 线上bug线下很难重现时的一次处理 自动化测试和联调的工具---apifox 事务管理思考 sleep、yield、wait的区别 线程异常 线程 JAVA线程中断 volatile synchronized在线程安全上的区别 jms amqp activemq rabbitmq的区别 servlet不是线程安全的 雪花算法 mysql在海量数据时的处理方案
C#的Lock可以锁什么?
那只狐狸 · 2022-11-08 · via 博客园 - 那只狐狸

为什么不锁值类型(object)123呢?

为什么不锁字符串"123"呢?

为什么不锁公共类型public呢?

为什么不锁类型People.GetType()呢?

上边的都可以编译过去,但是锁的范围不同;锁存在是为了避免某些线程们的鲁莽闯入,锁的东西在这些线程中必须是唯一的

锁值类型(object)123:装箱一次生成一个新对象,等于没上锁

锁字符串"123":如果字符串仅仅在程序集范围内唯一

锁公共public属性:被意料外的地方访问 或者说其他地方访问这个与锁的逻辑没有关系,那么锁的范围太大了

锁类型People.GetType():其他应用如果也锁这个类型 结果会怎么样

所以常规锁法private static object可靠些