导航
  • 主页
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm
  • WPF
  • 问答

ArrayList多线程问题。

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

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

我的问题是当多用户访问时,这个对像能保证不发生冲突么?
换句话说就是静态的ArrayList能保证多线程修改而不发生异常么??
...全文
231 点赞 收藏 3
写回复
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
楼上的更好
回复
发动态
发帖子
C#
创建于2007-09-28

10.4w+

社区成员

.NET技术 C#
申请成为版主
社区公告

全世界最好的语言,没有之一.