内存池在有些地方是很有用的,今天就尝试写了一个,很简单的一个。
因为是跨平台的,所以就要做一些准备了:
mutex.h
#ifndef MUTEX_H
#define MUTEX_H
#ifdef WIN32
#include <windows.h>
#include "pthread.h"
#define MUTEX CRITICAL_SECTION
#define MUTEXINIT(m) InitializeCriticalSection(m)
#define MUTEXLOCK(m) EnterCriticalSection(m)
#define MUTEXUNLOCK(m) LeaveCriticalSection(m)
#define MUTEXDESTROY(m) DeleteCriticalSection(m)
#else
#include <pthread.h>
#include <stdlib.h>
#define MUTEX pthread_mutex_t
#define MUTEXINIT(m) pthread_mutex_init(m,NULL)
#define MUTEXLOCK(m) pthread_mutex_lock(m)
#define MUTEXUNLOCK(m) pthread_mutex_unlock(m)
#define MUTEXDESTROY(m) pthread_mutex_destroy(m)
#endif //ifdef WIN32
#endif//ifndef MUTEX_H
/******************************************************************************
pthread.h