Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26840
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 82
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-30 14:36
文章分类

全部博文(12)

文章存档

2016年(7)

2015年(5)

我的朋友

分类: 嵌入式

2016-09-12 17:28:09

进程数据结构

进程的数据结构为链表,代码中所有的进程使用进程链表管理。

点击(此处)折叠或打开

  1. struct process {
  2.   struct process *next;
  3. #if PROCESS_CONF_NO_PROCESS_NAMES
  4. #define PROCESS_NAME_STRING(process) ""
  5. #else
  6.   const char *name;
  7. #define PROCESS_NAME_STRING(process) (process)->name
  8. #endif
  9.   PT_THREAD((* thread)(struct pt *, process_event_t, process_data_t));
  10.   struct pt pt;
  11.   unsigned char state, needspoll;
  12. };
next 指向下一进程控制块,name为进程名,thred为进程的实体(函数指针),pt保存该进程执行的行数,实现进程切换,state为进程的运行状态,needpoll为进程的优先级。
进程创建完成后,需要其运行需要调用process_start,将进程控制块,挂载到进程链表中。注意每次挂载,从头开始挂载。



阅读(533) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~