同步与异步的区别

来源:互联网 发布:mac如何切换任务 编辑:程序博客网 时间:2024/06/01 10:31

同步与异步的区别:
在计算机领域里面,同步指的是我们在执行一个请求时,如果这个请求需要很长的时间去执行的话,那么这个进程将会一直等待下去,直到收到回复。例如:生活中的打印机,当要打印一个文件的时候,这台打印机正在打印别的文件,那么我们上传的这个文件就需要去等待正在打印的这个文件结束之后才能执行。异步指的是我们在执行一个进程请求时,该进程不需要等待下去而是继续执行下面的操作,不用管其他进程的状态,当有消息返回的时候系统就会通知进程进行处理。例如:我们在网站中下载东西的时候,当我们点击了一个下载,系统下载开始之后我们可以不用去管它,继续去浏览其他网页,当系统下载完成之后就跳出了一个下载完成提示我们。在这里面,浏览网页和下载就是一个异步。
同步的问题大多发生在多线程的环境中的数据问题上,就是当多个线程需要访问同一个资源时,这些线程就必须需要按照一定的顺序来确保这个共享资源只能够有一个线程访问,如果使用异步的话程序的运行结果将不可预料。就比如我们使用的打印机案例,当我们提交申请之后我们要打印的文件就必须等待其他的打印完成。如果它使用异步的话那么是不是一会儿打印这个文件,一个打印那个文件呢^_^?
使用异步的作用就是提高了工作效率,同步的作用是保证同一个共享资源在某个特定的时刻只能被一个线程所访问。

原创粉丝点击