embedded 原文存档
rtthread线程创建函数init和creat的区别
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之后不会释放空间