为了减轻数据库的负担,所以把数据都放在HashTable里~~~我想问一下HashTable存在多线程序安全问题吗?如过在HashTable中储存上万条甚至更多的数据~~~要在HashTable中取出某个数据,速度是不是很慢?

解决方案 »

  1.   

    不会慢。
    线程不安全时使用
    Lock()
    {
    }
      

  2.   

    HashTable 一个线种写多读线程读,则是线程安全的。我觉得数据库的就是拿来存储数据并快速检索的,还是用数据库的好,如果一条记录内容很多(比如内容管理系统),则不适合放在 HashTable 中。
      

  3.   

    不会影响速度
    这正是Hashtable的优点,它利用了索引,使得搜索一个条目时,不会从第一个到最后一个逐步遍历。
    Hashtable为每一个条目生成一个Hash值,然后对该值进行排序索引。检索某个条目时,只需首先算出它的哈希值,然后再通过快速查找排序好的哈希表得到。