mtask.h

来自「多任务下的数据结构与算法的源码」· C头文件 代码 · 共 48 行

H
48
字号
/*
 * Copyright (c) 2000-2008
 * Author: Weiming Zhou
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  
 */

#ifndef __MTASK_H__
#define __MTASK_H__

#ifdef __cplusplus
extern "C" {
#endif

#define MTASK_NO_EXIT      0
#define MTASK_EXIT         1

typedef struct MTASK_st {
    LOCK        pLock;       /* 操作锁 */
    EVENT       pExitEvent;  /* 退出事件 */
    
    UINT        uExitFlag;   /* 退出标志 */
    UINT        uTaskCount;  /* 操作的子任务数量 */
} MTASK;


MTASK * MTask_Create();
void    MTask_Destroy(MTASK *pMTask);

void    MTask_Lock(MTASK *pMTask);
void    MTask_Unlock(MTASK *pMTask);

UINT    MTask_GetExitFlag(MTASK *pMTask);
void    MTask_SetExitFlag(MTASK *pMTask, UINT uExitFlag);
void    MTask_EnterTask(MTASK *pMTask);
void    MTask_LeaveTask(MTASK *pMTask);


#ifdef __cplusplus
}
#endif

#endif /* __MTASK_H__ */

⌨️ 快捷键说明

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