码迷,mamicode.com
首页 > 其他好文 > 详细

同步和异步概念的解释

时间:2015-06-17 11:39:46      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:同步   异步   线程   

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

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

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

1、换个角度

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

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

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

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

2、同步异步的处理过程

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

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

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

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

            WaitforSingleObject(hEvent,INFINTE,TRUE);  
      另外一种是CALLBACK方式,这种异步是完全不等待,程序主线发出请求之后就干别的事情去了,完全不理会请求执行的如何。  
      所有异步必然设计两个以上的线程(不然不存在异步的问题),第一种方式下,请求的后期工作是在发出请求的线程上执行,第二种方式下,后期工作可以在任何线程(通常是执行请求的线程上)完成。


同步和异步概念的解释

标签:同步   异步   线程   

原文地址:http://blog.csdn.net/panker2008/article/details/46530215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!