# my_thread **Repository Path**: mazamu/my_thread ## Basic Information - **Project Name**: my_thread - **Description**: 用c语言实现用户态线程 - **Primary Language**: C - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-18 - **Last Updated**: 2022-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # my_thread #### c语言模拟实现用户态线程介绍 项目实现内容: 为模拟线程的上下文切换,在线程结构体中定义了栈指针和栈,在switch.s模拟了线程的压栈、弹栈操作。 为实现线程的自动切换,添加了时间片轮转调度算法。 为增强代码可读性,对部分代码进行封装。 为实现线程间同步与互斥,在目录origin的基础上,在目录after里,实现了信号量,其中的原子操作来源于GCC的函数。 并在目录after/pc里用生产者-消费者例子检验用户态线程和信号量的。 debug_log下是一些分析用的反汇编代码的记录。 #### 使用教程 linux环境(ubuntu16.04,32位) 机器为win10 + VMware。