社区
C#
帖子详情
线程同时访问Hashtable有问题吗?
asilas
2004-09-22 08:01:36
我有一个hashtable,有几个线程同时读取它,这会有问题吗?
它允许同时读吗?
...全文
107
3
打赏
收藏
线程同时访问Hashtable有问题吗?
我有一个hashtable,有几个线程同时读取它,这会有问题吗? 它允许同时读吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
asilas
2004-09-22
打赏
举报
回复
晕,到底可不可以呢,我试了一下,好象可以同读,前提是没有写线程
wingnal
2004-09-22
打赏
举报
回复
好像不行
应该锁定,限制同步
yisan
2004-09-22
打赏
举报
回复
可以读取,但你要保证在读取的时候没有其它线程会写入,否则你就必须加锁.
引自msdn:
"要支持一个或多个编写器,Hashtable 上的所有操作都必须通过 Synchronized 方法返回的包装执行。
通过集合枚举在本质上不是一个线程安全的过程。甚至在对集合进行同步处理时,其他线程仍可以修改该集合,这会导致枚举数引发异常。若要在枚举过程中保证线程安全,可以在整个枚举过程中锁定集合,或者捕捉由于其他线程进行的更改而引发的异常。"
Java集合框架精讲
本课程是《零基础学Java》课程的第八阶段的课程,该课程延续了之前课程的授课风格!内容经过精心雕琢,细致设计,能够做到讲解深入浅出、通俗易懂!可以真正让学员学有所获!该课程内容包括:Collection集合的继承体系、Map集合的集合体系、部分数据结构知识点、List、Set、ArrayList、Vector、LinkedList、Iterator(迭代器)、TreeSet、HashSet、LinkedHashSet、TreeSet、Map、TreeMap、HashMap、
Hashtable
、LinkedHashMap、Collections等知识点的讲解!
HashMap 和
Hashtable
有什么区别?
HashMap 和
Hashtable
有什么区别?
为什么
hashtable
是
线程
安全的?为什么hashmap不是
线程
安全的
Hashtable
是
线程
安全的,因为它在执行读写操作时使用了内置锁来同步对其内部数据结构的
访问
。这保证了在多
线程
环境中,任何时刻只有一个
线程
可以
访问
它的内部数据结构。 而 HashMap 则不是
线程
安全的,因为它并没有使用内置锁来同步对其内部数据结构的
访问
。因此,在多
线程
环境中,多个
线程
可以同时
访问
HashMap 的内部数据结构,从而导致数据不一致或其他
线程
问题
。 如果你需要在多
线程
环境中使用...
HashMap和
Hashtable
有什么区别?
HashMap和
Hashtable
都是用于实现基于键值对的映射数据结构的类。它们的主要区别在于
线程
安全性、null值的处理和迭代器的顺序。
HashMap和
HashTable
区别,
HashTable
线程
安全吗?
HashMap是
Hashtable
的轻量级实现(非
线程
安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非
线程
安全,效率上可能高于
Hashtable
。 HashMap允许将null作为一个entry的key或者value,而
Hashtable
不允许。 HashMap把
Hashtable
的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable
继承自Dictionary
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章