rt_thread_init对应静态定义方式,rt_thread_create对应动态定义方式。
************************************************************************
静态创建线程代码:
创建线程:rt_thread_init
启动线程:rt_thread_startup
脱离线程:rt_thread_detach
//静态创建线程
result = rt_thread_init(&thread1, //线程handle
“static”, //线程名
rt_init_thread_entry, //线程入口函数
RT_NULL, //线程入口参数
&thread1_stack[0], //线程栈地址
sizeof(thread1_stack), //线程栈大小
6, //线程优先级
10); //线程时间片
************************************************************************
动态创建线程代码:
创建线程:rt_thread_create
启动线程:rt_thread_startup
线程启动成功后,当OS调度开始,即可被OS调度执行。
tid = rt_thread_create(“init”,
rt_init_thread_entry, RT_NULL,
2048, 10, 5);
if (tid != RT_NULL)
rt_thread_startup(tid);
动态创建的线程,delete之后会释放出空间
静态创建的线程,detach之后不会释放空间
本文地址: rtthread线程创建函数init和creat的区别