.Net文档中关于ArrayList有改下描述:
“此类型的公共静态(在 Visual Basic 中为 Shared)成员对于多线程操作是安全的。不能保证实例成员是线程安全的。”我在一个Web工程中使用了一个ArrayList的静态对象。并且在用户访问时会修改其中的元素和元素数目。我的问题是当多用户访问时,这个对像能保证不发生冲突么?
换句话说就是静态的ArrayList能保证多线程修改而不发生异常么??
“此类型的公共静态(在 Visual Basic 中为 Shared)成员对于多线程操作是安全的。不能保证实例成员是线程安全的。”我在一个Web工程中使用了一个ArrayList的静态对象。并且在用户访问时会修改其中的元素和元素数目。我的问题是当多用户访问时,这个对像能保证不发生冲突么?
换句话说就是静态的ArrayList能保证多线程修改而不发生异常么??
public static readonly object m_LockMe = new object();
操作ArrayList的时候
lock (m_LockMe) {
DoSomething();
}
ArrayList al = new ArrayList();
lock(al.SyncRoot)
{
//do something...
}