用户级线程库
首先创建一个线程调度器,然后创建多个线程(如不做特殊说明,本文中以下的"线程"均指"用户级线程"),并将其添加到线程调度器中。随后调度器开始执行调度,找到适合运行的线程,将执行权交给他。线程执行过程中可能调用yield()交权,也可能调用sleep()将自己睡眠,也可能出现异常。
所以大致可以分为四个模块:调度器、线程、睡眠函数、异常处理。
线程调度器的实现
调度器的实现可以分为创建、销毁、添加线程、开始调度四部分,如下:
utSch utSchedulerCreate();//线程调度器的创建
void utSchedulerDestory(utSchsch);//线程调度器的销毁
void utSchAddUthd(utSchsch, uThdthd);//添加一个线程
void utSchStart(utSchsch);//开始调度
而调度器的结构体定义可以简略的概括为
2022-11-03 06:53:45
467KB
C
1