社区
C#
帖子详情
谁能用大白话帮忙解释一下同步、异步的概念,14:00之前结贴给分!
kissknife
2006-04-04 09:47:33
看了点同步套接字、异步套接字的内容,对同步、异步没有形象的概念。
诸位高手帮忙用形象的语言解释一下同步、异步,以及使用同步或异步的好处坏处,多谢!
...全文
400
12
打赏
收藏
谁能用大白话帮忙解释一下同步、异步的概念,14:00之前结贴给分!
看了点同步套接字、异步套接字的内容,对同步、异步没有形象的概念。 诸位高手帮忙用形象的语言解释一下同步、异步,以及使用同步或异步的好处坏处,多谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kissknife
2006-04-04
打赏
举报
回复
多谢几位。
以烧水为例,如果我仅有两件事可做:烧水、喝开水,这需要异步吗?
同样,以简单的socket通信来说,假设只有件事:建立连接、发送信息,这需要异步吗?
nonocast
2006-04-04
打赏
举报
回复
你可以看下我原来写的这篇文章
http://www.gameres.com/Articles/Program/Control/IOCP.htm
nonocast
2006-04-04
打赏
举报
回复
先简单的提一下同步和异步这两个概念,逻辑上来讲做完一件事后再去做另一件事就是同步,而同时一起做两件或两件以上事的话就是异步了。你也可以拿单线程和多线程来作比喻。但是我们一定要将同步和堵塞,异步和非堵塞区分开来,所谓的堵塞函数诸如accept(…),当调用此函数后,此时线程将挂起,直到操作系统来通知它,”HEY兄弟,有人连进来了”,那个挂起的线程将继续进行工作,也就符合”生产者-消费者”模型。堵塞和同步看上去有两分相似,但却是完全不同的概念。大家都知道I/O设备是个相对慢速的设备,不论打印机,调制解调器,甚至硬盘,与CPU相比都是奇慢无比的,坐下来等I/O的完成是一件不甚明智的事情,有时候数据的流动率非常惊人,把数据从你的文件服务器中以Ethernet速度搬走,其速度可能高达每秒一百万字节,如果你尝试从文件服务器中读取100KB,在用户的眼光来看几乎是瞬间完成,但是,要知道,你的线程执行这个命令,已经浪费了10个一百万次CPU周期。所以说,我们一般使用另一个线程来进行I/O。重叠IO[overlapped I/O]是Win32的一项技术,你可以要求操作系统为你传送数据,并且在传送完毕时通知你。这也就是[完成]的含义。这项技术使你的程序在I/O进行过程中仍然能够继续处理事务。事实上,操作系统内部正是以线程来完成overlapped I/O。你可以获得线程所有利益,而不需要付出什么痛苦的代价。
effun
2006-04-04
打赏
举报
回复
很简单啊,就象你烧开水,如果你站在炉子边上等水烧开再去做别的事就是同步。如果水放在炉子上以后你就去做别的事,等水开了以后会通过水壶上的汽笛通知你,这就是异步。
bearocean
2006-04-04
打赏
举报
回复
大白话是吧
简单的异步(Asynchronous)调用是这样一种调用方式:发起者请求一个异步调用,通知执行者,然后处理其他工作,在某一个同步点等待执行者的完成;执行者执行调用的实际操作,完成后通知发起者。
比如.net的Socket异步调用机制。
就是在BeginAccept的时候调用一个异步处理程序。
ice_frank
2006-04-04
打赏
举报
回复
同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果.
异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作.
kissknife
2006-04-04
打赏
举报
回复
请问它们是一般都和线程扯上关系吗?为什么?
jijl2001
2006-04-04
打赏
举报
回复
同步就是做了一件事后就得等这件事做完才能做另一件
异步就是做了一件事后可以做另一件,
runnercn
2006-04-04
打赏
举报
回复
同步就好比你是一事必躬亲的人,也即你不是一个好领导;而异步就是,你不做,但是你可以派你手下的得力干将去做,做完了回来通知你一下就可以了,也即你是一个有前途的领导。不知道这样说你名不明白。好处你也应该知道了吧。
kissknife
2006-04-04
打赏
举报
回复
多谢楼上的各位了。
effun
2006-04-04
打赏
举报
回复
喝开水当然要等到水开了才能喝,所以应该同步。当然,发送信息也必须要等到连接建立以后,因此必须是同步的。当然,你可以在等待水烧开的时候去做点别的家务,扫扫地什么的,而不是傻乎乎地看着水被烧开。
koenemy
2006-04-04
打赏
举报
回复
都不需要。
前端25k+面试题及
大白话
答案整理(持续更新)
它主要是使用了resolve的
异步
机制,用require代替了import,实现按需加载 方法二 官网方法 vue-router在官网提供了一种方法,可以理解也是为通过Promise的resolve机制。因为Promise函数返回的Promise为resolve组件...
【
异步
并发编程】使用aiohttp构建Web应用程序
这里我们用
大白话
,举例说一下到底什么是
异步
编程??首先我们想象一下,传统
同步
编程就像是在等公交车的排队,每个人都得按顺序上车,哪怕前面的人需要等待很长时间。但是
异步
编程就像是你在等待公交的时候,...
手撸架构,并发编程 面试123问
并发编程的优缺点 优点: 充
分
利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升 ...
同步
异步
指调用方法,调动
同步
,必须阻塞等待其执行结束,才能
大白话
深入浅出讲嵌入式C语言多线程编程
第三个参数是指向线程函数的指针,这个线程函数可厉害了,它定义了线程的具体行为,就像是给演员设定了表演的剧本。比如说线程局部存储(Thread-Local Storage,TLS),它允许每个线程拥有自己独立的变量副本,这些...
2024Java常见笔试题,java开发过程中遇到技术难点面试题
时间回到 1985 年,彼时,后来证明了 CAP 理论的 Lynch 教授此时给当时的 IT 界来了一记惊雷:她通过不可辩驳的证明告诉业界的工程师们,如果在一个不稳定(消息要么乱序要么丢了)的网络环境里(
分
布式
异步
模型),...
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章