This commit is contained in:
coco
2026-07-03 16:05:30 +08:00
commit df489d5640
1101 changed files with 779140 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
#pragma once
#include "ConcurrentList.h"
class ProducerThread
{
public:
virtual bool StartThread();
virtual bool StopThread();
protected:
ProducerThread();
virtual ~ProducerThread();
protected:
virtual void ThreadFunction() = 0;
private:
static unsigned int __stdcall TheThread(void *pParam);
protected:
bool m_bEngineRunning;
HANDLE m_hHandle;
};
class ConsumerThread
{
public:
virtual bool StartThread();
virtual bool StopThread();
protected:
ConsumerThread();
virtual ~ConsumerThread();
void PutDataToQue(void * pData);
virtual void ReleaseData( void* pData ) = 0;
virtual void ConsumeDataFromQue( void * pData ) = 0;
private:
static unsigned int __stdcall TheThread(void *pParam);
protected:
ConcurrentList<void*> m_queData;
private:
bool m_bEngineRunning;
HANDLE m_hHandle;
};
class MultiConsumerThread
{
public:
virtual bool StartThread(int iThread);
virtual bool StopThread();
protected:
MultiConsumerThread();
virtual ~MultiConsumerThread();
void PutDataToQue(void * pData);
virtual void ReleaseData( void* pData ) = 0;
virtual void ConsumeDataFromQue( void * pData ) = 0;
private:
static unsigned int __stdcall TheThread(void *pParam);
protected:
ConcurrentList<void*> m_queData;
private:
bool m_bEngineRunning;
vector<HANDLE> m_vecHandle;
};