Hashtable ht = new Hashtable() ;
htable.Add("a", new Channel());
我现在有多个线程在运行,他们可能会同时修改一个Channel类实例的属性,这个类是存在hashtable里面
对同一个类修改,这样会不会发生死锁?
解决方案 »
- 用查询分析器查询速度快,放到程序里面查询速度慢
- 如何将提取一句话逗号和逗号之间的数据
- splitContainer 其中一个Panel的高度(WINFORM)?
- 请教各位大神,关于AggregateException不能捕获并行迭代的全部异常的问题
- 请问有什么工具可以自动生成实体类的,或者其他自动生成代码的工具啊
- 水晶报表,求双轴柱线图的制作方法,内详有图
- 问两上语句功能上有什么不同?
- 线程Sleep问题请解答
- 剛學C#很菜的一個問題,連接數據庫時SqlConnection為什麼我的會沒有Open方法呢
- textbox的问题。请帮忙,谢谢
- 请教 资深开发人士 一个问题
- VS2008 更新数据源问题
当你lock了共享资源的读写之后,并且有多个线程互相wait对方的lock结果,才可能会死锁。
即使最基本的赋值都不是原子操作
使用多线程时,有共享资源都要lock
public int package_count
{
get { return _package_count; }
set { _package_count = value; }
}
//未组包条码数
public int unPackageCode_count
{
get { return _unPackageCode_count; }
set { _unPackageCode_count = value; }
}
都是这样的代码,请问如果加lock的话,该怎么加呢?本人刚学c#,还请大家多多帮助下,谢谢啦
lock上
例如:
string xx = string.Empty;
lock (xx)
{
//修改要加锁的变量
}