找回密码
 立即注册
楼主: 王***

最佳入门多线程示例讲解-核心代码简单易懂,仅44行代码

[复制链接]
  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 151 天

    [LV.7]常住居民III

    109

    主题

    456

    回帖

    845

    积分

    高级会员

    积分
    845
    发表于 2024-2-1 09:24:53 | 显示全部楼层
    图片中画红圈的这句是切换的是同一任务的不同状态还是不同任务的状态?
    Snipaste_2024-02-01_09-23-03.png

    点评

    切换的是同一线程中的不同状态,Task为全局线程指针,线程前定义当前线程指针,这样GetDealy函数就不用挨个线程声明了,拥有通用性  详情 回复 发表于 2024-2-1 10:25
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 105 天

    [LV.6]常住居民II

    31

    主题

    385

    回帖

    1936

    积分

    荣誉版主

    积分
    1936
     楼主| 发表于 2024-2-1 10:25:29 | 显示全部楼层
    380091044 发表于 2024-2-1 09:24
    图片中画红圈的这句是切换的是同一任务的不同状态还是不同任务的状态?
    ...

    切换的是同一线程中的不同状态,Task为全局线程指针,线程前定义当前线程指针,这样GetDealy函数就不用挨个线程声明了,拥有通用性
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 151 天

    [LV.7]常住居民III

    109

    主题

    456

    回帖

    845

    积分

    高级会员

    积分
    845
    发表于 2024-2-1 11:56:31 | 显示全部楼层
    你的这个第二段程序中的task初始化时,应该赋值为0吧,初始化不赋值,这样可以吗?
    Snipaste_2024-02-01_11-55-02.png

    点评

    前面只是引出问题所在,这部分并不算是后面讲的多线程代码。而且我这个框架更像是状态机混合软定时器的伪多线程。并不算真的多线程。  详情 回复 发表于 2024-2-1 12:33
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 105 天

    [LV.6]常住居民II

    31

    主题

    385

    回帖

    1936

    积分

    荣誉版主

    积分
    1936
     楼主| 发表于 2024-2-1 12:33:57 | 显示全部楼层
    380091044 发表于 2024-2-1 11:56
    你的这个第二段程序中的task初始化时,应该赋值为0吧,初始化不赋值,这样可以吗?
    ...

    前面只是引出问题所在,这部分并不算是后面讲的多线程代码。而且我这个框架更像是状态机混合软定时器的伪多线程。并不算真的多线程。
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 151 天

    [LV.7]常住居民III

    109

    主题

    456

    回帖

    845

    积分

    高级会员

    积分
    845
    发表于 2024-2-1 13:09:21 | 显示全部楼层
    王昱顺 发表于 2024-2-1 12:33
    前面只是引出问题所在,这部分并不算是后面讲的多线程代码。而且我这个框架更像是状态机混合软定时器的伪 ...

    我的接受能力有限,从你的最简单的看,这样,我好理解,直接看第3段,费劲,谢谢;
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    无聊
    5 小时前
  • 签到天数: 134 天

    [LV.7]常住居民III

    17

    主题

    528

    回帖

    1213

    积分

    金牌会员

    积分
    1213
    发表于 2024-2-1 13:10:43 | 显示全部楼层
    你代码里面的config.h在哪?
    不停地学习
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 151 天

    [LV.7]常住居民III

    109

    主题

    456

    回帖

    845

    积分

    高级会员

    积分
    845
    发表于 2024-2-1 13:12:36 | 显示全部楼层
    WHX 发表于 2024-2-1 13:10
    你代码里面的config.h在哪?

    在这了,你可以复制:

    #ifndef __CONFIG_H
    #define __CONFIG_H

    #include "stc8h.h"

    // 包含基础C支持代码
    #include "intrins.h"
    #include "math.h"
    #include "stdio.h"
    #include "stdlib.h"
    #include "string.h"

    // 变量类型重定义
    #define u8 unsigned char
    #define u16 unsigned int
    #define u32 unsigned long
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    无聊
    5 小时前
  • 签到天数: 134 天

    [LV.7]常住居民III

    17

    主题

    528

    回帖

    1213

    积分

    金牌会员

    积分
    1213
    发表于 2024-2-1 13:22:03 | 显示全部楼层
    不停地学习
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 151 天

    [LV.7]常住居民III

    109

    主题

    456

    回帖

    845

    积分

    高级会员

    积分
    845
    发表于 2024-2-1 13:33:40 | 显示全部楼层

    我也在学习,可以一起交流,
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 151 天

    [LV.7]常住居民III

    109

    主题

    456

    回帖

    845

    积分

    高级会员

    积分
    845
    发表于 2024-2-1 14:25:11 | 显示全部楼层
    我看了代码后,我感觉你这个线程状态和任务状态是同一个东西,没有什么区别,至少是我没有看出区别,是这样的?

    点评

    是这样的,没区别  发表于 2024-2-1 14:28
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-30 13:41 , Processed in 0.070516 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表