6个答案按时间排序按投票排序
-
采纳的答案
同步就是在一个主线程里,你要做三件事情,A做完了做B,B完了再做C,是顺序执行的;
异步就是在一个主线程里,你开了三个线程来分别处理ABC这三件事,这三个子线程在代码调用的时候可能你是先调A再调B和C,但是在执行子线程的时候即使A线程没执行完,线程B和C也会往下执行,让我们看起来好像ABC三个线程是互不干扰的分别在执行。
很多时候我们会用异步多线程来处理同一业务里的大量数据,好比有一千个订单要处理,如果你用一个线程顺序执行,你就要循环这批订单,一个个处理,消耗非常多时间;但是用多线程你就可以开十几二十个线程异步处理,让效率提高很多。
另外,异步虽然我们看起来是很多个线程同时在跑,其实对同一CPU来说它在同一时间还是只能处理一个线程的,只是在一个线程里遇到有IO操作等等需要CPU等待的时候,就会切换到另一个线程去执行,加强了使CPU使用率,所以并不是什么时候都适合使用多线程的。2013年7月02日 09:45
-
同步就是在一个线程中,比如你想喝咖啡,就要先烧开水,然后泡咖啡!异步就是多个线程,好比是你在等烧开水的时候可以在旁边看报纸!前者有循序关系,后者者无!
2013年7月02日 21:19
-
同步就像QQ视频聊天,你申请了对方要同意,才能继续数据交换,并且不能给不同的人分别视频。(
异步就像发消息,不用管对方什么时候看,他能看到的时候能看到,想回复的时候就回复2013年7月02日 15:23
-
调用者必须等待被调用者执行完毕,即调用者和被调用者是串行执行的关系,叫同步。调用者不等待被调用者执行完毕,调用者与被调用者并行执行,叫异步。
-