/********************************************************************
author : Clark/陈泽丹
created : 2014-6-21
purpose : 线程辅助类
*********************************************************************/
#pragma once
struct IThreadUnit
{
virtual ~IThreadUnit(){}
virtual void Server() = 0;
};
class ThreadHelper
{
public:
void CreateThread( IThreadUnit *_p_fun );
private:
};
extern ThreadHelper g_threadpool;
#include "ThreadHelper.h"
#include <process.h>
ThreadHelper g_threadpool;
void HelperThread( void* _p_fun )
{
IThreadUnit *p_fun = (IThreadUnit*)_p_fun;
if( 0 != p_fun )
{
p_fun->Server();
delete p_fun;
p_fun = 0;
}
}
void ThreadHelper::CreateThread( IThreadUnit *_p_fun )
{
_beginthread( HelperThread, 0, _p_fun );
}