今天花简单的时间说一下这两个概念,可能都遇到过,但是你能完整的表达出来吗?程序里面有同步和异步概念,还有别的地方也有
同步:就是要做一件事或者要完成一项任务,需要我们一直等着等到这件事情或者这项任务来反馈给我们,期间我们不能做别的事,只能干等着,这是他的特点,我们根据这个结果来做我们响应的处理
异步:就是要做一件事或者要完成一项任务,当发起这个任务的命令完成,或者请求完成,我没必要等着他来得到结果,中间我可以挪出时间去干别的事,等到有结果了,他发一个消息或者信息给我,这件事好了,有结果了,你来处理吧。
同步和异步:同步如果处理事情的时候发生问题,我们就没法处理结果,在java的io里就会出现阻塞、网络断掉或者别的问题导致这个线程卡在那里,然后占用资源,导致整个程序无法执行。当然这个处理过程可以用多线程去处理,但多线程会占用资源,当并发稍微大一点,就无法满足了
异步:异步处理就是相当于java的nio,当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似。
如有错误麻烦指正
author:肖华
转载请指明出处 http://blog.csdn.net/xh199110
原文地址:http://blog.csdn.net/xh199110/article/details/42386677