a day ago
- 协作式多任务处理让任务自愿交出控制权,而抢占式多任务处理在时间片后强制夺取控制权。
- C语言的函数指针存储函数的地址并允许间接调用,其语法如`int (*fp)(const char*)`。
- 函数指针用于标准库函数如`qsort()`和`bsearch()`中,以传递自定义比较函数。
- 一个简单的协作式多任务系统可以通过函数指针数组实现,其中每个任务是一个短暂运行并返回的函数。
- 示例定义了三个任务(manatee、goat、bat)并在轮询循环中调度它们,演示了基本的协作式多任务处理。
- 潜在的改进包括向任务传递数据、使用不同的调度算法以及动态创建/销毁任务。