CmBacktrace 实战案例

案例来源completion_sample
image

注意事项
image

案例代码

int completion_sample(void)
{
    /* 初始化完成量对象 */
    rt_completion_init(&completion);

    rt_thread_init(&thread1,
                   "thread1",
                   thread1_completion_wait,
                   RT_NULL,
                   &thread1_stack[0],
                   sizeof(thread1_stack),
                   THREAD_PRIORITY - 1, THREAD_TIMESLICE);
    rt_thread_startup(&thread1);
	
// 添加一线程,线程中调用rt_completion_wait(&completion, RT_WAITING_FOREVER); 会导致系统崩溃
//    rt_thread_init(&thread3,
//                   "thread3",
//                   thread3_completion_wait,
//                   RT_NULL,
//                   &thread3_stack[0],
//                   sizeof(thread3_stack),
//                   THREAD_PRIORITY - 2, THREAD_TIMESLICE);         
//    rt_thread_startup(&thread3);
    
    rt_thread_init(&thread2,
                   "thread2",
                   thread2_completion_done,
                   RT_NULL,
                   &thread2_stack[0],
                   sizeof(thread2_stack),
                   THREAD_PRIORITY, THREAD_TIMESLICE);
    rt_thread_startup(&thread2);

    


    return 0;
}
posted @   我爱茜茜公主  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示