进程锁技巧
来源:互联网 发布:淘宝进货网 编辑:程序博客网 时间:2024/06/05 16:57
在使用进程锁时,很多时候我们都是用lock(new Object())或者定义一个static的object然后lock这个对象,这样子会造成全局锁。但是这样会造成一些意想不到的麻烦。有些时候,事件并发,每人操作一条记录,当这个人操作这个记录的时候,不让别人操作,但是不影响别人操作另外的记录,这时候我们可以这样子做:
using System.Collections.Generic;namespace RedPacket.BLL{ public class LockObject { private static Dictionary<long, object> mObjects = new Dictionary<long, object>(5000); public static object GetLockObject(long key) { lock (typeof(LockObject)) { object result; if (!mObjects.TryGetValue(key, out result)) { result = new object(); mObjects.Add(key, result); } return result; } } }}
操作一条记录,如果是新增当然没有什么问题,如果是修改,这时候就会有一个ID,我们就锁这个ID就行了。
- 进程锁技巧
- 进程操作技巧集
- 技巧:进程与线程
- 进程管理小技巧
- Linux 挂起进程小技巧
- 系统管理员工具包: 进程管理技巧
- Linux查看进程和终止进程的技巧
- Linux查看进程和终止进程的技巧
- Linux查看进程和终止进程的技巧
- Linux查看进程和终止进程的技巧
- Linux查看进程和终止进程的技巧
- 查看Windows进程指向小技巧
- Symbian进程监控RChangeNotifier的使用技巧
- VS 附加到进程调试技巧
- 关于系统任务、进程的编程技巧
- Windows命令行kill进程小技巧
- [Linux小技巧]如何查询进程执行时间
- VS 附加到进程调试技巧
- nginx启动脚本
- 如何隐藏主菜单下一个apk的图标,不让其显示?
- WebService从零到项目开发使用5—技术研究之JAX-WS快速入门
- SG函数模板
- uva10700 - Camel trading(无括号的表达式)
- 进程锁技巧
- source insight快捷键及使用技巧
- 按钮补充篇
- Maven Web项目部署到Tomcat
- css tab选项卡
- make menuconfig的详细配置
- epoll机制
- 捕鱼山寨-------(一) 菜单
- Interactive Segmentation Tool-Box