【EG800Z-CN】多线程示例
thumbnail

【EG800Z-CN】多线程示例

本案例使用移远通信EG800Z-CN开发板和UniRTOS,实现了一个简单的多线程并发程序,创建两个线程,分别打印不同的内容,展示多任务“同时”执行的效果。适合新手和初学者了解如何使用UniRTOS实现多任务并发。

  • 多线程

项目概述

本案例使用移远通信EG800Z-CN开发板和UniRTOS,实现了一个简单的多线程并发程序,创建两个线程,分别打印不同的内容,展示多任务“同时”执行的效果。适合新手和初学者了解如何使用UniRTOS实现多任务并发。

功能特性

基于多线程的并发任务执行
  • 独立线程并发运行:创建两个独立的任务线程,实现不同内容的并行打印输出,互不干扰。
  • 差异化任务处理:每个线程执行专属的打印逻辑,可输出自定义的、具有区分度的信息流。

开发准备

硬件要求

软件要求

快速上手

下载项目

示例代码位于UniRTOS官方创客仓库,点此访问下载

添加项目到UniRTOS SDK

SDK新增Demo,固件编译和烧录请参考UniRTOS板块的快速启动

硬件连接

使用USB数据线连接开发板和电脑即可。

日志展示

代码概览

示例工作流程

主要功能接口

unir_test_demo_init 
  • 功能:程序入口,创建两个线程。
  • 关键操作
    • 创建任务:调用qosa_task_create创建task A和task B。
    • 删除任务:调用qosa_task_delete创建task A和task B。

    其他接口

    如有其他需求,如挂起线程,终止线程等,参考如下:

    1. qosa_task_suppend:挂起线程任务。
    2. qosa_task_resume:恢复被挂起的线程任务。
    3. qosa_task_get_current_ref:获取当前线程的任务句柄。
    4. qosa_task_change_priority:改变线程的优先级。
    5. qosa_task_get_priority:获取线程的优先级。

      沟通无界,服务无限

      了解更多关于移远公司、产品和技术支持的信息。