
这些天我绞尽脑汁想利用上下文来实现任务管理。代码在这里。
与该项目中的其他所有内容一样,这是 maziero 教授内容的另一个“任务”。
关于实施:
任务管理系统是使用系统上下文实现的。它通过执行一项任务直到显式切换到另一项任务来管理协作任务。
task_t 结构:代表一个任务,存储执行上下文、标识符(id)和指针,以方便构建任务的双向链接队列。
typedef struct task_t
{
struct task_t *prev, *next; // ponteiros para usar em filas
int id; // identificador da tarefa
ucontext_t context; // contexto armazenado da tarefa
short status; // pronta, rodando, suspensa, ...
// ... (outros campos serão adicionados mais tarde)
} task_t;
初始化:调用ppos_init()函数来配置程序的主上下文。这使系统准备好管理多个任务。
开发语言:java,支持数据库:Mysql 5,系统架构:J2EE,操作系统:linux/Windows1. 引言 32. 系统的结构 32.1 系统概述 33. 功能模块设计说明 43.1 商品管理 43.1.1 添加商品功能模块 53.1.2 商品列表功能模块 83.1.3 商品关联功能模块 93.
任务创建:使用task_init() 创建新任务,您可以在其中传递要在新任务中执行的函数和参数。这些任务被赋予新的上下文和堆栈,并且任务 id 被更新。
上下文切换:task_switch() 函数允许您在任务之间切换,将当前上下文交换为指定任务的上下文。
任务终止:任务可以通过task_exit()终止其执行并返回到主上下文。







