线程同时访问Hashtable有问题吗?

asilas 2004-09-22 08:01:36
我有一个hashtable,有几个线程同时读取它,这会有问题吗?

它允许同时读吗?
...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
asilas 2004-09-22
  • 打赏
  • 举报
回复
晕,到底可不可以呢,我试了一下,好象可以同读,前提是没有写线程
wingnal 2004-09-22
  • 打赏
  • 举报
回复
好像不行
应该锁定,限制同步
yisan 2004-09-22
  • 打赏
  • 举报
回复
可以读取,但你要保证在读取的时候没有其它线程会写入,否则你就必须加锁.

引自msdn:
"要支持一个或多个编写器,Hashtable 上的所有操作都必须通过 Synchronized 方法返回的包装执行。
通过集合枚举在本质上不是一个线程安全的过程。甚至在对集合进行同步处理时,其他线程仍可以修改该集合,这会导致枚举数引发异常。若要在枚举过程中保证线程安全,可以在整个枚举过程中锁定集合,或者捕捉由于其他线程进行的更改而引发的异常。"

110,534

社区成员

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

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

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