ArrayList多线程问题。

lxcooi 2005-12-29 10:00:39
.Net文档中关于ArrayList有改下描述:
“此类型的公共静态(在 Visual Basic 中为 Shared)成员对于多线程操作是安全的。不能保证实例成员是线程安全的。”

我在一个Web工程中使用了一个ArrayList的静态对象。并且在用户访问时会修改其中的元素和元素数目。

我的问题是当多用户访问时,这个对像能保证不发生冲突么?
换句话说就是静态的ArrayList能保证多线程修改而不发生异常么??
...全文
252 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mobydick 2005-12-29
  • 打赏
  • 举报
回复
可以这样
ArrayList al = new ArrayList();
lock(al.SyncRoot)
{
//do something...
}
alesso 2005-12-29
  • 打赏
  • 举报
回复
声明一个
public static readonly object m_LockMe = new object();
操作ArrayList的时候
lock (m_LockMe) {
DoSomething();
}
alesso 2005-12-29
  • 打赏
  • 举报
回复
楼上的更好

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧