thread.cpp

来自「播放被H264_AAC所压缩的avi文件的播放器。」· C++ 代码 · 共 72 行

CPP
72
字号

#include "Thread.h"
#include <process.h>


//##ModelId=4753B7E901FA
Thread::Thread()
{
	m_id		= 0;
	m_handle	= NULL;
}


//##ModelId=4753B7E901FB
Thread::~Thread()
{
	Close();
}


//##ModelId=4753B7E90204
DWORD Thread::GetID()
{
	return m_id;
}


//##ModelId=4753B7E90205
HANDLE Thread::GetHandle()
{
	return m_handle;
}

//##ModelId=4753B7E90206
DWORD Thread::GetThreadState()
{
	DWORD nExitCode;
	if( GetExitCodeThread(m_handle, &nExitCode) )
		return nExitCode;
	return GetLastError();
}

//##ModelId=4753B7E90207
bool Thread::Create( unsigned (__stdcall *func)( void * ), void *arg )
{
	m_handle = (HANDLE) _beginthreadex( NULL, 0, func, arg, 0, &m_id );
	if ( !m_handle )
		return false;

	return true;
}


//##ModelId=4753B7E9020A
void Thread::Close()
{
	if ( m_handle )
	{
		CloseHandle( m_handle );
		m_handle = NULL;
	}
	
	m_id = 0;
}


//##ModelId=4753B7E90213
DWORD Thread::WaitForClosure( DWORD timeout )
{
	return WaitForSingleObject( m_handle, timeout );
}

⌨️ 快捷键说明

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