同步和异步概念的解释

同步就是一根筋,一件事从头到尾,干每件事情都得有确定的返回值,只有返回以后才执行下一步,有点一条道步步稳打走到黑的感觉

异步就是笑面虎,他可以依次的做很多事情,具体每件事情,他不需要等完成后的返回值直接做下一步,有所有事情中同时处理游刃有余的感觉

*******************************************************************************

1、换个角度

同步就相当于你请办公室人吃饭,你通知A去吃饭,A只要不表态的话,你就一直等下去,直到A说去你就将他带到饭店然后再用同样的方法去通知B,直到b亲自口头说不去,你才会用同样的方法去通知C,直到将办公室的人全部通知完为止

异步对于同样一件请客吃饭的事情,你的处理方式就不一样,你会跑到A跟前说a我请你吃饭,可能a正在忙,但是你也很忙,你还有很多人要通知,或者给a留个字条请他吃饭,然后就去找B,具体a去不去你也不清楚,然后你会将所有的人通知一遍,最后你直接去饭店定桌,等着他们的回信,可能有人给你打电话反馈等等

一句话:同步就是我通知你,你必须给我反馈,异步就是我忙着呢,通知到了,不等你了

*******************************************************************************

2、同步异步的处理过程

同步就是一直等,等到你讲我提出的给个回复为止

异步就是先将所有声明的事情干到底,然后等回复,但是回复的方法分为两种:

***************(摘抄)

一种是等,但是等的过程和同步不一样,等的时候可以做别的工作,但是程序的主线还是等待

WaitforSingleObject(hEvent,INFINTE,TRUE);

另外一种是CALLBACK方式,这种异步是完全不等待,程序主线发出请求之后就干别的事情去了,完全不理会请求执行的如何。

所有异步必然设计两个以上的线程(不然不存在异步的问题),第一种方式下,请求的后期工作是在发出请求的线程上执行,第二种方式下,后期工作可以在任何线程(通常是执行请求的线程上)完成。

时间: 2024-10-14 15:53:43

同步和异步概念的解释的相关文章

PHP-Socket-阻塞与非阻塞,同步与异步概念的理解

1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回.也就是必须一件一件事做,等前一件做完了才能做下一件事. 例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步:      异步的概念和同步相对.当一个异步过程调用发出后,调用者不能立刻得到结果.实际处理这个调

阻塞、非阻塞或者同步、异步概念

程序里面的线程 是阻塞/非阻塞概念, 网络间通信是同步/异步的概念 例子: 一个项目与另一个项目进行接口对调, 项目A发送一个请求,将请求的线程进行挂起(阻塞)等待响应结果, 项目B为异步处理,在收到请求时,缓存请求,并马上返回一个响应,收到结果 该例子过程表示为:异步阻塞方式,其他例子可以同理推论出来

聊聊同步、异步、阻塞与非阻塞

本文转载自: http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666538901&idx=1&sn=d1f7d5461491a9c240f16da6b7c0ced9&scene=21#wechat_redirect 近来遇到了一些常见的概念,尤其是网络编程方面的概念,如:阻塞.非阻塞.异步I/O等等,对于这些概念自己也没有太清晰的认识,只是很模糊的概念,说了解吧也了解,但是要让自己准确的描述概念方面的具体细节,却说

同步、异步、阻塞与非阻塞

近来遇到了一些常见的概念,尤其是网络编程方面的概念,如:阻塞.非阻塞.异步I/O等等,对于这些概念自己也没有太清晰的认识,只是很模糊的概念,说了解吧也了解,但是要让自己准确的描述概念方面的具体细节,却说的不那么准确,这也是自己在这几个方面也没有细细考究过的原因吧.经过看了些这几个概念的资料,发现同步.异步.阻塞.非阻塞的概念其实也并不难以理解,在此写下此文,欢迎拍砖,希望多多交流. 1 同步与异步 首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.也就是同步与异步主要是从消息通知机制角

转:聊聊同步、异步、阻塞与非阻塞

转载:https://www.jianshu.com/p/aed6067eeac9 近来遇到了一些常见的概念,尤其是网络编程方面的概念,如:阻塞.非阻塞.异步I/O等等,对于这些概念自己也没有太清晰的认识,只是很模糊的概念,说了解吧也了解,但是要让自己准确的描述概念方面的具体细节,却说的不那么准确,这也是自己在这几个方面也没有细细考究过的原因吧.经过看了些这几个概念的资料,发现同步.异步.阻塞.非阻塞的概念其实也并不难以理解,在此写下此文,欢迎拍砖,希望多多交流. 1 同步与异步# 首先来解释同

Gevent中的同步与异步详解

同步,异步概念 1.同步就是发生调用时,一定等待结果返回,整个调用才结束: 2.异步就是发生调用后,立即返回,不等待结果返回.被调用者通过状态.通知来通知调用者,或通过回调函数处理这个调用. 查询 1.同步查询 2.异步查询 同步异步与阻塞,非阻塞区别 1.阻塞/非阻塞, 它们是程序在等待消息(无所谓同步或者异步)时的状态: 2.同步/异步,是程序获得关注消息通知的机制. 同步异步与阻塞,非阻塞组合 1.同步阻塞 效率最低(日志程序). 2.同步非阻塞 效率也不高(需要轮询). 3.异步阻塞 一

IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别(附代码)

进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间 线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程 队列 dispatch_queue_t,队列名称在调试时辅助,无论什么队列和任务,线程的创建和回收不需要程序员操作,有队列负责. 串行队列:队列中的任务只会顺序执行(类似跑步) dispatch_queue_t q = dispatch_queue_create(“....”, DISPATCH_QUEUE_SER

简述linux同步与异步、阻塞与非阻塞概念以及五种IO模型

1.概念剖析 相信很多从事linux后台开发工作的都接触过同步&异步.阻塞&非阻塞这样的概念,也相信都曾经产生过误解,比如认为同步就是阻塞.异步就是非阻塞,下面我们先剖析下这几个概念分别是什么含义. 同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回.也就是必须一件一件事做,等前一件做完了才能做下一件事. 例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步:异步的概念和同步相对.当一个异步过程

同步、异步、阻塞、非阻塞的概念理解

  网络通信中的同步和异步机制描述通信模式.同步机制,是指发送方发送请求后,需要等待接收到接收方发回的响应之后,才开始发送下一个请求:异步机制,正好相反,是指发送方在发送一个请求之后,不等待接收方响应这个请求就继续发送写一个请求.所有来自发送方的请求将形成一个队列,接收方处理完请求之后通知发送方. 而阻塞和非阻塞是用来描述进程的处理调用的方式,实际上也就是网络套接字Socket的阻塞和非阻塞方式,而Socket的实质也就是IO操作.Socket的阻塞调用方式为,在调用IO结果返回之前,当前线程从