至于hashMap的原理,我想不必多说,大家都清楚,直接上代码啦
HashMap.h
#ifndef HashMap_H
#define HashMap_H
#include "iostream"
#include "boost/thread/mutex.hpp"
#include "boost/thread/shared_mutex.hpp"
const int HM_SIZE=200;
struct Node{
int key;
int value;
Node* next;
Node(int k,int v):key(k),value(v),next(NULL)
{
}
};
class HashMap{
public:
HashMap();
~HashMap();
void insert(int key,int value);
void remove(int key);
Node* find(int key);
size_t size();
private:
int hash(int key) const;
private:
size_t m_nSize;
Node** m_map;
boost::shared_mutex m_rwMutex[HM_SIZE/5];//共享互斥信号量
};
#en
线程安全的HashMap简易实现

博客分享了一种简单的HashMap实现,强调了其线程安全的特性。包含HashMap的头文件(HashMap.h)、实现文件(HashMap.cpp)以及测试文件(test.cpp)。作者指出这仅是一个基础实现,可能存在错误,并欢迎读者提出指正。
最低0.47元/天 解锁文章
1635

被折叠的 条评论
为什么被折叠?



