threadmanager.cpp

来自「本实例实现一个多线程的管理器。在应用程序中」· C++ 代码 · 共 50 行

CPP
50
字号
// ThreadManager.cpp: implementation of the ThreadManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
//#include "managerthread.h"
#include "ThreadManager.h"
#include "ThreadTask.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

ThreadManager::ThreadManager(ThreadPro threadpro,  LPVOID pParam)
{
	DWORD nThreadId = 0;

	_ASSERTE( ThreadTask::GetThreadTask().IsValid() );
 
	m_Handle = (HANDLE)::CreateThread(NULL,0,threadpro,(LPVOID)pParam,0,&nThreadId );
	if (  ThreadTask::GetThreadTask().m_bKeepGoing )
	{
		 
		ASSERT( m_Handle );
		ThreadTask::GetThreadTask().AddHandle( m_Handle );
	}
	else
	{
		static BOOL bDisplayed = FALSE;
		static  BOOL scbThreadCareTaker_IsValid_Failed = FALSE;
		if ( !bDisplayed )
		{
			bDisplayed = TRUE;
			_ASSERTE( scbThreadCareTaker_IsValid_Failed );
			bDisplayed = FALSE;
		}
	}
}
ThreadManager::~ThreadManager()
{

}
 BOOL  ThreadManager::RunThread()
{
	return( ::ResumeThread( m_Handle ) != 0xFFFFFFFF );
}	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?