📄 os_thread.h
字号:
#ifndef __OS_THREAD_H__#define __OS_THREAD_H__#ifdef __cplusplusextern "C" {#endif#if (__OS_TYPE__ == __OS_WIN32__) /* Windows 线程版本 */ #include <windows.h> typedef unsigned long OS_THREAD_ID; typedef HANDLE OS_THREAD_T; //typedef void * (*OS_THREAD_FUNC)(void *);typedef LPTHREAD_START_ROUTINE OS_THREAD_FUNC; #define OS_ThreadCreate(pth,fn,arg) (((*pth =CreateThread(NULL,0,(OS_THREAD_FUNC)fn,arg,0,NULL))==NULL)?OS_ERROR:OS_OK) #define OS_ThreadExit() ExitThread(0) #define OS_ThreadSetPriority(th,pri) SetThreadPriority(th,pri) #define OS_ThreadStart(th) ((0xFFFFFFFF==ResumeThread(th))?OS_ERROR : OS_OK) #define OS_ThreadStop(th) ((0xFFFFFFFF == SuspendThread(th))? OS_ERROR : OS_OK) #define OS_ThreadYield() Sleep(0) #define OS_ThreadGetCurId() GetCurrentThreadId() #elif (__OS_TYPE__ == __OS_LINUX__) /* Linux Pthread 版本*/ #include <pthread.h> typedef int OS_THREAD_ID; typedef pthread_t OS_THREAD_T; typedef void * (*OS_THREAD_FUNC)(void *); #define OS_ThreadCreate(pth,fn,arg) ((pthread_create(pth, NULL, (OS_THREAD_FUNC ) fn, arg) == -1)?OS_ERROR:OS_OK) #define OS_ThreadExit() pthread_exit(NULL) #define OS_ThreadSetPriority() #define OS_ThreadStart() #define OS_ThreadStop() #define OS_ThreadYield do{ if (0 != sched_yield()) sched_yield();}while(0) #define OS_ThreadGetCurId() getpid()#else #error unknow thread define ! #endif#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -