📄 thread.h
字号:
#ifndef __THREAD_H__
#define __THREAD_H__
#include <pthread.h>
#include <sched.h>
#include "types.h"
#define THREAD_RETURN void*
#define THREAD_API
typedef pthread_cond_t PT_EVENT;
typedef pthread_mutex_t PT_MUTEX;
typedef int VW_MUTEX;
typedef pthread_cond_t PT_COND;
typedef pthread_t PT_THREAD;
typedef pthread_attr_t PT_THREADATTR;
typedef struct sched_param PT_THREADPRIOR;
typedef int PT_HANDLE;
struct msg_query {
PT_MUTEX mutex;
PT_COND cond;
unsigned int msg; // this is the actual message
};
typedef struct msg_query PT_MSG;
typedef enum {
st_suspend = 1,
st_resume = 2
} PT_SIGSTATE;
typedef struct{
PT_EVENT event;
PT_COND cond;
PT_MUTEX mutex;
PT_SIGSTATE ss;
int signal;
} PT_CONDSYNC;
typedef struct {
PT_HANDLE hActive;
PT_THREAD hThread;
PT_THREADATTR hThreadAttr;
PT_THREADPRIOR hThreadPrior;
int policy;
} ThreadStruct;
typedef void *(*thread_function_fp)(void *parm);
#define THREAD_PRIORITY_TIME_CRITICAL 10
#define THREAD_PRIORITY_HIGHEST 9
#define THREAD_PRIORITY_ABOVE_NORMAL 8
#define THREAD_PRIORITY_NORMAL 7
#define THREAD_PRIORITY_BELOW_NORMAL 5
#define THREAD_PRIORITY_LOWEST 1
#define THREAD_PRIORITY_IDLE 0
#define VW_MAX_THREAD_PRIORITY THREAD_PRIORITY_TIME_CRITICAL
unsigned get_thread_message(void *Msg, const char *Port, void *parm1, void *parm2);
unsigned get_message_ID(const void *Msg);
unsigned send_thread_message(unsigned long ThreadID, void *Msg, void *parm1, void *parm2);
void CreateThreadEvent(PT_CONDSYNC *event, BOOL bManualReset);
void DestroyThreadEvent(PT_CONDSYNC *event);
void init_active_handle(HANDLE active_handle);
void start_thread(ThreadStruct thread_param, LPVOID app_param_struct, thread_function_fp thread_loop) ;
void set_thread_priority(ThreadStruct thread_param, int nPriority);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -