Linux驱动之异步OR同步,阻塞OR非阻塞概念介绍

发布时间:2024-08-20  

1.同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。
换句话说,就是由*调用者*主动等待这个*调用*的结果。

而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*通过状态、通知来通知调用者,或通过回调函数处理这个调用。

典型的异步编程模型比如Node.js

举个通俗的例子:
你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,”我查一下',然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。
而异步通信机制,书店老板直接告诉你我查一下啊,查好了打电话给你,然后直接挂电话了(不返回结果)。然后查好了,他会主动打电话给你。在这里老板通过“回电”这种方式来回调。

2. 阻塞与非阻塞
阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.

阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

还是上面的例子,
你打电话问书店老板有没有《分布式系统》这本书,你如果是阻塞式调用,你会一直把自己“挂起”,直到得到这本书有没有的结果,如果是非阻塞式调用,你不管老板有没有告诉你,你自己先一边去玩了, 当然你也要偶尔过几分钟check一下老板有没有返回结果。
在这里阻塞与非阻塞与是否同步异步无关。跟老板通过什么方式回答你结果无关


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    Linux驱动之异步OR同步,阻塞OR非阻塞概念介绍;1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous......
    数据的读写,一般分为网络IO(本质就是socket读写)和磁盘IO。 IO模型大致可以分为:同步阻塞、同步非阻塞异步、信号驱动。 可细分为5种I/O模型: 1)阻塞I/O,进程处于阻塞模式时,让出CPU,进入......
    ADN4600数据手册和产品信息;ADN4600是一款非阻塞式异步交叉点开关,具有八路PECL/CML兼容型差分输入和八路CML差分输出;输入提供可编程均衡,输出......
    (linux自学笔记)linux驱动并发控制、阻塞/非阻塞IO、异步通知;1.关于并发控制 Linux 中多个进程对共享资源的并发访问,并发访问会导致竞态。   在单 CPU范围......
    标志位     TIM_ClearFlag(TIM2, TIM_FLAG_Update); } 硬件定时器方法具有高精度和稳定性,适用于需要精确时间控制的场景。 3. 阻塞延时与非阻塞延时 上述的软件延时和硬件定时器延时都是阻塞......
    在一定时间内发生则 继续执行,如果在这段时间内发生,则认为出现错误,转向错误处理机制。在此推荐一种编程模式,但用户可以用自己认为更合理的方式处理此类问题。这里简单说明一下关于阻塞式函数及非阻塞式函数。简单说,阻塞......
    linux驱动学习(4)--阻塞和非阻塞;以串口的应用程序为例: 阻塞地都取串口一个字符 非阻塞地都取串口一个字符 char buf; fd = open('/dev/ttys......
    收发(可阻塞可非阻塞) DMA 收发(可阻塞可非阻塞) AB32VG1 这个是 RISC-V 架构的 CPU。 从芯片手册我们可以看到,它的串口外设只有“接收一个字节完成”和“发送一个字节完成”两个......
    的共享资源可能被多个线程需要,但这些共享资源又不能被同时访问,因此临界区需要以某种互斥机制加以保护,以确保共享资源被互斥访问。 阻塞与非阻塞阻塞调用是指调用结果返回之前,当前线程会被挂起,调用......
    上,进程也不知道信号到底什么时候到达。 异步通知与设备访问: 阻塞IO意味着一直等待设备可访问后访问;非阻塞IO使用poll意味着查询设备是否可以访问;而异步通知则意味着设备通知自身可访问,实现了异步I......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>