首页 > 编程语言 >C#的Lock可以锁什么?

C#的Lock可以锁什么?

时间:2022-11-08 22:03:54浏览次数:41  
标签:不锁 C# Lock 什么 object 字符串 123 类型

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

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

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

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

 

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

 

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

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

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

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

 

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

标签:不锁,C#,Lock,什么,object,字符串,123,类型
From: https://www.cnblogs.com/hzq3554055/p/16860717.html

相关文章

  • CAS无锁机制
    1、背景传统Synchronized锁:悲观,如果没有获取到锁的情况下,会让当前线程变为阻塞的状态,释放CPU执行权,效率非常低。乐观锁:本质上没有锁,没有死锁现象,而且效率比较高......
  • CS Academy Telegraph 题解 (分层DP)
    CSAcademy是一个比较小众的罗马尼亚OJ,UI好看功能多样,但是需要fq才能注册。访问是不用fq的常用工具:画图找不同题目链接前段时间刚做过类似的分层dp题,这次又忘了,深刻反......
  • 用JavaScript实现事件移除,派发,委托
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • c语言提高学习笔记——03-c提高10day_数据结构
    在学习c语言提高-数据结构总结了笔记,并分享出来。有问题请及时联系博主:​​Alliswell_WP​​,转载请注明出处。03-c提高10day_数据结构目录:一、队列(Queue)1、队列基本概念2......
  • c语言查漏补缺——Win32环境下动态链接库(DLL)编程原理
    在c语言查漏补缺总结了笔记,并分享出来。有问题请及时联系博主:​​Alliswell_WP​​,转载请注明出处。目录:一、Win32环境下动态链接库(DLL)编程原理1、导出和导入函数的匹配2......
  • [ARC140D] One to One
    首先有一个性质,每个点只有一条出边的图,每个联通块只能是基环树。那么有\(-1\)的连通块就一定是树。本题要求的是每种连边方案的联通块数量之和,把贡献拆开来算就可以转化......
  • ABC267G
    考虑重新刻画一个序列的生成,设原数列为\((0,0)\),将所有数从小到大排序后依次加入。例如\((2,3,1)\)是这样生成的:\[(0,0)\to(0,1,0)\to(0,2,1,0)\to(0,2,3,1,0)\]于是......
  • 什么是wxml;
    wxml是小程序的标签语言,用来构建小程序页面的结构,类似于网页开发中的html; wxml与html区别  1、标签名称不同 html(div\ span \ img \a)wxml (v......
  • 题解 ABC154F【Many Many Paths】
    problem令\(f(i,j)\)表示,在平面直角坐标系中,从\((0,0)\)出发,每次向上或向右走一步,到达\((i,j)\)的方案数,求:\[\sum_{l_1\leqi\leqr_1}\sum_{l_2\leqj\leqr_2}f(......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的1.能够对OpenvSwitch进行基本操作;2.能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;3.能够通过Mininet的......