最近开发一个多线程的东西,在维护全局变量的时候,感觉总是不怎么顺当,多个线程在同时操作全局变量的时候,如何既方便又最大限度的不影响性能的维护这个变量.
解决方案 »
- 从数据库中获取image字段
- 当前上下文不存在ApplyTextSize
- 怎样可以隐蔽或灰掉ComBoBox其中某一项Item?
- 散分200,再求问一些C# Windows特效的制作方法……
- 如何拦截browser控件的newwindow事件?
- 关于C#调用cmd运行复杂dos运行的问题
- 谁会用trackBar控件,控制progressBar控件的显示效果???
- DataGrid怎么更新
- 请问有什么软件可以打包安装以以下软件!!!
- VS制作网站中,把个人简介进行数据库更新,如何获取ID【附代码】!
- 请问c#有没有延时功能的函数,但是不影响timer的定时刷新
- 通过internet访问的VSS2005设置
{
....
}xxx就是你要加锁的变量,必须是引用类型。
public class ManagerSrvTable
{
private Hashtable items=new Hashtable(); public ManagerSrvTable()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void Add(string key ,EntryManagerSrv server)
{
lock(this)
{
items.Add(key,server);
}
}
public void Remove(string key)
{
lock(this)
{
items.Remove(key);
}
}
public Hashtable Items
{
get {return items;}
}
}public class mainclass
{
public static ManagerSrvTable mst=new ManagerSrvTable();
//下面多个线程去操作这个mst,比如一个线程取mst.Items,一个线程执行mst.add(……),一个线程执行mst.Remove(……)
…………………… }
这样的代码有问题吗?