⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmppthread.c

📁 用c/c++实现的一个CMPP API
💻 C
字号:
/***************************************************************************  Copyright    : 2001-2002, ASPIRE TECHNOLOGIES (SHENZHEN) LTD.  Program      : cmppthread.c  Description  : 线程函数实现文件  Version      : 1.5+***************************************************************************/#include "os.h"#include "cmppthread.h"/************************************************************************  Function ID:  nAPICreatThread  Description:  创建线程函数  Input Param:    Output Param: API_THREAD_HANDLE* phandle  Return:       int             0     success                               -1     fail*************************************************************************/int nAPICreatThread( API_THREAD_HANDLE* phandle, void* pVThreadName, void *arg){        #if defined(_HPUX_SOURCE) || defined(_LINUX_SOURCE)		int nRet;    /* 创建处理线程 */        nRet = pthread_create(phandle, NULL, pVThreadName, arg);        if (nRet != 0)            return THREAD_FAIL;        else            return THREAD_OK;    #endif    #ifdef WIN32    /* 创建处理线程 */        *phandle = CreateThread(NULL,                     0,                     pVThreadName,                     arg,                     0,                     NULL);        if( *phandle != NULL)            return THREAD_OK;        else            return THREAD_FAIL;    #endif}/************************************************************************  Function ID:  nAPIGetpthreadId  Description:  得到当前线程的ID  Input Param:    Output Param:   Return:       int             线程ID                               *************************************************************************/int nAPIGetpthreadId(){    #if defined(_HPUX_SOURCE) || defined(_LINUX_SOURCE)        return pthread_self();    #endif    #ifdef WIN32        return GetCurrentThreadId();    #endif}/************************************************************************  Function ID:  vAPIJointhread  Description:  等待线程退出  Input Param:    Output Param:   Return:                                                   *************************************************************************/void vAPIJointhread(API_THREAD_HANDLE* phandle){	#if defined(_HPUX_SOURCE) || defined(_LINUX_SOURCE)	//	nAPICancelThread(phandle);   //added by lijian 2003-12-4 修改重新init的等待问题		pthread_join(*phandle, NULL);	#endif	#ifdef WIN32		WaitForSingleObject( *phandle, INFINITE );		CloseHandle(*phandle);	#endif}/************************************************************************  Function ID:  nAPICreatThread  Description:  销毁线程函数  Input Param:  API_THREAD_HANDLE* phandle  Output Param:   Return:       int             0     success                               -1     fail*************************************************************************/int nAPICancelThread( API_THREAD_HANDLE* phandle){    #if defined(_HPUX_SOURCE) || defined(_LINUX_SOURCE)	int nRet;        nRet = pthread_cancel(*phandle);        if (nRet != 0)            return THREAD_FAIL;        else            return THREAD_OK;    #endif    #ifdef WIN32    /* 创建处理线程 */         if( TerminateThread(*phandle, 0) != 0 )            return THREAD_OK;        else            return THREAD_FAIL;    #endif}

⌨️ 快捷键说明

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