首先,dict字典中有两个hashtable,hashtable0保存了之前的数据,现在为ht1分配一个两倍的空间,然后在dict字典中维持一个计数器rehashidx,并把它设置为0,表示rehash工作正式开始,在rehash进行期间,每次对字典执行删除、查找或者更新操作时,程序除了执行指定的操作外,还会顺带将ht0在rehashidx的桶位上的链表上的所有键值都rehash到ht1上,当该桶位工作完成之后,将rehashidx的值增一,随着字典不断执行,最终ht0所有桶位上的键值都会被rehash到ht1上,这时rehashidx的值设为-1,表示rehash操作已经完成。
