380091044 发表于 2024-2-1 09:24:53

图片中画红圈的这句是切换的是同一任务的不同状态还是不同任务的状态?

王昱顺 发表于 2024-2-1 10:25:29

380091044 发表于 2024-2-1 09:24
图片中画红圈的这句是切换的是同一任务的不同状态还是不同任务的状态?
...

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

380091044 发表于 2024-2-1 11:56:31

你的这个第二段程序中的task初始化时,应该赋值为0吧,初始化不赋值,这样可以吗?

王昱顺 发表于 2024-2-1 12:33:57

380091044 发表于 2024-2-1 11:56
你的这个第二段程序中的task初始化时,应该赋值为0吧,初始化不赋值,这样可以吗?
...

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

380091044 发表于 2024-2-1 13:09:21

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

我的接受能力有限,从你的最简单的看,这样,我好理解,直接看第3段,费劲,谢谢;

WHX 发表于 2024-2-1 13:10:43

你代码里面的config.h在哪?

380091044 发表于 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

WHX 发表于 2024-2-1 13:22:03

{:4_196:}

380091044 发表于 2024-2-1 13:33:40

WHX 发表于 2024-2-1 13:22


我也在学习,可以一起交流,

380091044 发表于 2024-2-1 14:25:11

我看了代码后,我感觉你这个线程状态和任务状态是同一个东西,没有什么区别,至少是我没有看出区别,是这样的?
页: 1 [2] 3 4 5 6 7
查看完整版本: 最佳入门多线程示例讲解-核心代码简单易懂,仅44行代码