同步与异步的概念

同步与异步的概念0

请问同步与异步到底什么意思啊?我所见的异步好像就是在主线程开一个新的线程就是异步了,同步就是单线程,是这样的吗?
 
2013年7月01日 22:23

6个答案按时间排序按投票排序

0 0

采纳的答案

同步就是在一个主线程里,你要做三件事情,A做完了做B,B完了再做C,是顺序执行的; 

异步就是在一个主线程里,你开了三个线程来分别处理ABC这三件事,这三个子线程在代码调用的时候可能你是先调A再调B和C,但是在执行子线程的时候即使A线程没执行完,线程B和C也会往下执行,让我们看起来好像ABC三个线程是互不干扰的分别在执行。 

很多时候我们会用异步多线程来处理同一业务里的大量数据,好比有一千个订单要处理,如果你用一个线程顺序执行,你就要循环这批订单,一个个处理,消耗非常多时间;但是用多线程你就可以开十几二十个线程异步处理,让效率提高很多。 

另外,异步虽然我们看起来是很多个线程同时在跑,其实对同一CPU来说它在同一时间还是只能处理一个线程的,只是在一个线程里遇到有IO操作等等需要CPU等待的时候,就会切换到另一个线程去执行,加强了使CPU使用率,所以并不是什么时候都适合使用多线程的。

2013年7月02日 09:45
0 0

同步就是在一个线程中,比如你想喝咖啡,就要先烧开水,然后泡咖啡!异步就是多个线程,好比是你在等烧开水的时候可以在旁边看报纸!前者有循序关系,后者者无!

2013年7月02日 21:19
0 0

同步就像QQ视频聊天,你申请了对方要同意,才能继续数据交换,并且不能给不同的人分别视频。( 
异步就像发消息,不用管对方什么时候看,他能看到的时候能看到,想回复的时候就回复

2013年7月02日 15:23
0 0

同步是同一时刻只有一个线程在做,异步就是同一时刻可有多个现在在做。

2013年7月02日 12:26
0 0

是的 
单线程一定是同步 
多线程大部分情况是异步

2013年7月02日 11:53
0 0

调用者必须等待被调用者执行完毕,即调用者和被调用者是串行执行的关系,叫同步。调用者不等待被调用者执行完毕,调用者与被调用者并行执行,叫异步。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值