简介:
关于锁操作这里不再过多介绍,有关锁的知识很多地方都会用到,例如:进程锁、数据库锁等等,了解这些是非常必要的,下面做一下关于CRL书本中再第十一章提到的monitor,课本只是用到了也没怎么讲,所以在这里做个笔记。
monitor相对于lock可以说是更高级/更好,主要了解有两方面:
1.在功能上,monitor不仅仅具有lock的功能,monitor还具有tryenter(event,time)、wait()/pause()。
2.在性能上,底层IL使用的就是monitor,如果在代码中使用lock,那么还需要在低层转换为monitor。
关于monitor的具体解析(纯属摘抄):(具体可查看该链接(https://www.cnblogs.com/wangyonglai/p/8241724.html))
Enter(Object) 在指定对象上获取排他锁。
Exit(Object) 释放指定对象上的排他锁。
IsEntered 确定当前线程是否保留指定对象锁。
Pulse 通知等待队列中的线程锁定对象状态的更改。
PulseAll 通知所有的等待线程对象状态的更改。
TryEnter(Object) 试图获取指定对象的排他锁。
TryEnter(Object, Boolean) 尝试获取指定对象上的排他锁,并自动设置一个值,指示是否得到了该锁。
Wait(Object) 释放对象上的锁并阻止当前线程,直到它重新获取该锁。
案列: 待续...
分类:
C#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现