找回密码
 注册
关于网站域名变更的通知
查看: 291|回复: 2
打印 上一主题 下一主题

多个线程或中断都需要传输数据给一个专门的线程吗?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-21 13:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
两个线程之间不需要进行同步。只有一些状态需要从A线程传输到B线程。
: N4 y# a( e4 b6 w
/ `* u6 t7 ?2 t% t4 e3 G' M如果说数据只有一个字节的话,还有需要使用线程通信的那些函数去使用吗?是不是直接用全局变量更快更好呢?$ f7 `% I# L& W- L) \( E, ]

7 H- J! c, Z7 _% h另一种就是多个线程或中断都需要传输数据给一个专门的线程,这样也需要每个线程都用通信函数去传输吗?
( W- U$ `! T, _* i4 \4 l9 }) P# r+ W& Y
比如说我有一个按键线程判断完按键状态后,执行函数去变更数据。然后另一个线程根据变更的数据去进行相应动作。再有一个线程专门读取动作数据,通过串口发送到上位机。这种需要线程通信吗?
7 S9 ?# e1 P* H9 r+ B: `
- G2 h/ T+ k' `1 G0 W; m! z7 j现在想用操作系统,但是感觉用的就像裸机带了个os一样用法。那些通信函数是会用,总感觉用了不方便,一个字节也要传输,不在同一个区域的数据也要传输。不如全局变量方便。: F$ X, {2 {. h; P+ b6 @' q7 {

该用户从未签到

2#
发表于 2022-10-21 14:56 | 只看该作者
对实时性没要求的话,可以使用全局变量传递,接收数据的线程模块提供一个接口函数其它线程调用接口函数即可
* L0 f# d5 G  _! p

该用户从未签到

3#
发表于 2022-10-21 15:28 | 只看该作者
多个线程调用些函数时,须注意避免访问冲突问题* s, a$ y! G$ K( h% d1 {
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 17:38 , Processed in 0.531250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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