1. 什么是线程?
在单片机裸机系统中, 系统的主体就是 main 函数里面顺序执行的无限循环,这个无限循环里面 CPU 按照顺序完成各种事情。在多线程系统中,我们根据功能的不同,把整个系统分割成一个个独立的且无法返回的函数,这个函数我们称为线程。说白了就是把我们之前现在main函数的任务放入while(1)死循环中,通过调用线程切换函数来切换不同的线程。线程大概形式如下:
/***********************线程的主要形式***********************/
void thread_entry(void *parg)
{
/* 线程主体,无限循环
while(1)
{
/* 线程主体代码*/
}
}
2. 怎么创建线程?
比较复杂的事情,大致分为:
1.定义线程栈 2.定义线程函数
3.定义线程控制块 4.实现线程创建函数