# cothread **Repository Path**: gcu/cothread ## Basic Information - **Project Name**: cothread - **Description**: cothread 是一个轻量级协程调度器,由纯C语言实现,易于移植到各种单片机。 同时,由于该调度器仅仅运行在一个实际线程中,所以它也适用于服务器高并发场景。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 40 - **Created**: 2024-05-22 - **Last Updated**: 2024-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cothread #### 介绍 cothread 是一个轻量级协程调度器,由纯C语言实现,易于移植到各种单片机。 同时,由于该调度器仅仅运行在一个实际线程中,所以它也适用于服务器高并发场景。 tinyRAM分支是针对RAM做过优化的,RAM消耗更小,每个线程控制块ccb只需要4字节。 #### 特点 和 RTOS 相比,cothread 有如下特点: 轻量级、RAM利用率高、纯C、移植方便、调试方便。 #### 软件架构 一、调度器核心基于 C 语言的 switch-case 控制语句,通过源码行号记录每次执行的进度。 二、支持中断调用 thread_signal、thread_create,可以在中断建立处理线程。 三、支持消息队列。 四、支持软件定时器。 五、在调度器上提供了几个基础线程: 1. idle 用于统计CPU使用率; 2. shell 提供用户交互; 3. log 提供日志输出。