在写程序的时候,经常看到API文档中写同步IO或者异步IO的概念,但是不是明白这两者具体有什么区别。。。希望有大佬可以帮忙回答下,谢谢了

上传的附件
你的回答被采纳后将获得: 8点积分 (将会扣除手续费1点积分。)

keyboard_arrow_left上一篇 : "WRITE-BUG技术共享平台"哪个版块你最讨厌 "WRITE-BUG技术共享平台"哪个版块你最喜欢 : 下一篇keyboard_arrow_right

8个回答

Mockingjay
2019-03-07 09:02:41

等待。。。

LeftEar
2019-03-07 10:12:18

同步是所有的操作都做完,才返回给用户结果
异步不用等所有操作等做完,就响应用户请求

Naiiive
2019-03-07 13:39:09

所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。
异步的概念和同步相对,当一个异步过程调用发出后,调用者不会立刻得到结果;实际处理这个调用的部件是在调用发出后,通过状态、通知来通知调用者,或通过回调函数处理这个调用。

Juvenile
2019-03-07 20:09:50

一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage和PostMessage。SendMessage函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的值返回给调用者。

FollowMe
2019-04-18 09:14:49

同步的话,就相互等待、相互制约;异步的话,就各做各的,互不干扰

FullHouse
2019-05-10 10:29:58

就是字面上的意思啊。。。

954880947
2019-11-13 22:22:04

同步是阻塞模式,异步是非阻塞模式。
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

浅黎
2021-01-05 09:52:00

同步IO和异步IO的区别就在于:数据访问的时候进程是否阻塞!

阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!

同步和异步都只针对于本机SOCKET而言的。
同步和异步,阻塞和非阻塞,有些混用,其实它们完全不是一回事,而且它们修饰的对象也不相同。
阻塞和非阻塞是指当server端的进程访问的数据如果尚未就绪,进程是否需要等待,简单说这相当于函数内部的实现区别,也就是未就绪时是直接返回还是等待就绪;

而同步和异步是指client端访问数据的机制,同步一般指主动请求并等待I/O操作完毕的方式,当数据就绪后在读写的时候必须阻塞(区别就绪与读写二个阶段,同步的读写必须阻塞),异步则指主动请求数据后便可以继续处理其它任务,随后等待I/O,操作完毕的通知,这可以使进程在数据读写时也不阻塞。(等待”通知”)

精彩评论

eject