- #pragma once
- #include <Windows.h>
- #include <stdio.h>
- struct IRunnable
- {
- virtual void RunStart() = 0;
- };
- class CThraed
- {
- public:
- CThraed(IRunnable *ptr)
- {
- _threadobj = ptr;
- }
- void Start(void)
- {
- DWORD threadID;
- ::CreateThread(0,0,threadProc,_threadobj,0,&threadID);
- }
- protected:
- static unsigned long _stdcall threadProc(void *ptr)
- {
- ((IRunnable*)(ptr))->RunStart();
- return 0;
- }
- protected:
- IRunnable *_threadobj;
- };