OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2753|回复: 6

同步异步与并行还有阻塞、非阻塞的区别

[复制链接]

8

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-3-14
在线时间
40 小时
发表于 2017-7-18 15:23:03 | 显示全部楼层 |阅读模式
8金钱
单独来讲并行还有 阻塞或者非阻塞操作是比较容易理解的,但我对异步同步不是很理解。比如说“异步事件”百度看到的都是“并行”或者“非阻塞”的意思,实在搞得不解,有没有大神给系统的讲解下,再次叩首拜谢了!!

最佳答案

查看完整内容[请看2#楼]

借用别人经典的一个解释: 你去面试,面试完成让你别走在原地等待通知结果,这个就是同步IO(同步事件)。如果你面试完成以后,告诉你先回去,去做自己的事情,后面会通知你面试结果,这个就是异步IO(异步事件)。在面试这个过程中,让你先别走在原地等待通知结果的时候你不能去做其它的事情,比如去吃个饭,逛个街什么的。这个时候你就相当于是“阻塞”的,阻塞在了面试这件事上,因为阻塞临时限制住了你的活动。如果让你先回去,后 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-7-18 15:23:04 | 显示全部楼层
本帖最后由 zuozhongkai 于 2017-7-18 15:48 编辑

借用别人经典的一个解释:
你去面试,面试完成让你别走在原地等待通知结果,这个就是同步IO(同步事件)。如果你面试完成以后,告诉你先回去,去做自己的事情,后面会通知你面试结果,这个就是异步IO(异步事件)。在面试这个过程中,让你先别走在原地等待通知结果的时候你不能去做其它的事情,比如去吃个饭,逛个街什么的。这个时候你就相当于是“阻塞”的,阻塞在了面试这件事上,因为阻塞临时限制住了你的活动。如果让你先回去,后面给你结果,这个时候你就可以去逛街、吃饭啥的,反正就是可以去做其它事情了, 这个时候你就是“非阻塞”的。你并没有因为面试这件事而限制住你的活动。这就是百度上说的异步IO或者异步事件是“非阻塞”的。同步IO或者同步事件是“阻塞”的。

同步IO、异步IO、阻塞IO、非阻塞IO是linux驱动里面最基本的四个概念,因为涉及到你的驱动该怎么处理。
开往春天的手扶拖拉机
回复

使用道具 举报

8

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-3-14
在线时间
40 小时
 楼主| 发表于 2017-7-18 15:36:27 | 显示全部楼层
单看多线程数据共享将同步与异步处理机制也很好理解,只是抛开多线程共享说这个概念就不是很理解了
回复

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2017-7-18 17:56:25 | 显示全部楼层
并行就是多线程了,一般要用互斥锁,但是在单片机中很多人用笨办法(开关中断)
1-1
回复

使用道具 举报

8

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-3-14
在线时间
40 小时
 楼主| 发表于 2017-7-19 09:31:28 | 显示全部楼层
zuozhongkai 发表于 2017-7-18 15:23
借用别人经典的一个解释:
你去面试,面试完成让你别走在原地等待通知结果,这个就是同步IO(同步事件)。如 ...

那么任哲ucos关于中断开头这样说:“中断是计算机系统处理异步事件的重要机制,当异步事件发生后,事件通常通过硬件向CPU发出中断请求”,这里的“异步事件”怎么理解?
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-7-19 09:53:24 | 显示全部楼层
本帖最后由 zuozhongkai 于 2017-7-19 09:54 编辑
henu四叶草 发表于 2017-7-19 09:31
那么任哲ucos关于中断开头这样说:“中断是计算机系统处理异步事件的重要机制,当异步事件发生后,事件通 ...

中断来到,代码中断正常的执行,转而去执行中断服务函数。就相当于你在面试,然后让你先回去,你就可以去吃饭,逛街一样。面试这件事就是你以前正常执行的代码(面试过程、面试结果等都属于面试这个任务),吃饭、逛街就是中断服务函数!
开往春天的手扶拖拉机
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3768
金钱
3768
注册时间
2015-4-26
在线时间
763 小时
发表于 2017-7-19 10:18:56 | 显示全部楼层
zuozhongkai 发表于 2017-7-19 09:53
中断来到,代码中断正常的执行,转而去执行中断服务函数。就相当于你在面试,然后让你先回去,你就可以去 ...

感觉是你一直在等面试结果。你正在吃着饭呢,面试官来电话了,你必须放下筷子,先接电话。感觉这里的异步事件指的是电话,而不是吃饭、逛街。  大佬,这样理解对不对
我有故事,你有酒吗
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-3 22:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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