?? cmppthread.c
字號:
/*************************************************************************** Copyright : 2001-2002, ASPIRE TECHNOLOGIES (SHENZHEN) LTD. Program : cmppthread.c Description : 線程函數(shù)實現(xiàn)文件 Version : 1.5+***************************************************************************/#include "os.h"#include "cmppthread.h"/************************************************************************ Function ID: nAPICreatThread Description: 創(chuàng)建線程函數(shù) 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; /* 創(chuàng)建處理線程 */ nRet = pthread_create(phandle, NULL, pVThreadName, arg); if (nRet != 0) return THREAD_FAIL; else return THREAD_OK; #endif #ifdef WIN32 /* 創(chuàng)建處理線程 */ *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: 銷毀線程函數(shù) 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 /* 創(chuàng)建處理線程 */ if( TerminateThread(*phandle, 0) != 0 ) return THREAD_OK; else return THREAD_FAIL; #endif}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -