系统线程
系统线程是内核在系统初始化过程中自动生成的线程。
内核将生成以下系统线程:
主(Main)线程
这个线程执行内核初始化,然后调用应用程序的Main()函数(如果定义了一个)。
默认情况下,主线程使用配置最高的优先线程优先级(即0)。如果内核未配置为支持可抢占线程,则主线程使用配置最低的协作线程优先级(即-1)。
主线执行内核初始化或执行应用程序的Main()函数时是一个必需的线程;这意味着如果线程中止,将引发致命的系统错误。如果没有定义Main(),或者它执行并执行正常返回,则主线程正常终止,不会引发错误。
空闲线程
当系统没有其他工作可做时,此线程将执行。如果可能,空闲线程激活电路板的电源管理支持,以节省电源;否则,空闲线程只是执行一个“什么都不做”的循环。只要系统正在运行并且永远不会终止,空闲线程就会存在。
空闲线程始终使用配置的线程优先级。如果这使得它成为一个协作线程,那么空闲线程就会反复产生CPU,以允许应用程序的其他线程在需要时运行。
空闲线程是一个基本的线程,这意味着如果该线程中止,则会引发一个致命的系统错误。
根据应用程序指定的内核和板配置选项,还可能生成额外的系统线程。例如,启用系统工作队列会生成一个为提交给它的工作项提供服务的系统线程。(请参见工作队列线程。)
实现
编写Main()函数
一个应用程序提供的Main()函数在内核初始化完成后就会开始执行