创建两个动态线程,thread2 运行4s后删除thread1。
这里两个都为动态线程,所谓动态线程即在堆中动态创建,删除之后也从RAM中消失。区别于静态线程。
由于是动态,所以需开启
#define RT_USING_HEAP
以下是application.c 的代码
#include <rtthread.h>
rt_thread_t tid1 = RT_NULL;
rt_thread_t tid2 = RT_NULL;
static void thread1_entry(void* parameter)
{
rt_uint32_t count = 0;
rt_kprintf("thread1 dynamicly created ok\n");
while(1)
{
rt_kprintf("thread1 count: %d\n",count++);
rt_thread_delay(RT_TICK_PER_SECOND);
}
}
static void thread2_entry(void* parameter)
{
rt_kprintf("thread2 dynamicly created ok\n");
rt_thread_delay(RT_TICK_PER_SECOND * 4);
rt_thread_delete(tid1);
rt_kprintf("thread1 deleted ok\n");
}
int rt_application_init()
{
// rt_thread_t init_thread;
//
// rt_err_t result;
//
// if (init_thread != RT_NULL)
// rt_thread_startup(init_thread);
tid1 =

本文通过实例展示了在RTT操作系统中如何创建和删除动态线程。动态线程在堆中分配,运行完毕后自动从内存中释放,不同于静态线程。文章详细阐述了线程创建及删除过程。
最低0.47元/天 解锁文章

2499

被折叠的 条评论
为什么被折叠?



