c++中的异步和同步机制
来源:互联网 发布:买车软件哪个好 编辑:程序博客网 时间:2024/04/29 03:56
关于异步和同步到底什么意思?一开始时有人问起来,不解,后来自己总结资料,弄明白在这里给大家分享:
异步:发起请求后,不等待这个发起的请求返回任何响应就去先干别的事,当然最后是等待到这个返回呢还是不等呢?关键就是要看,是否真的返回,如果返回了,则接受,不返回,也不会一直等待,遇到main函数结束时,操作系统会结束并清理这个进程的所有资源和痕迹。
同步:相对于异步就是必须等到发起请求后返回的响应后,该请求后才能做别的事,这个方式看似很忠诚,就是这种。
举个同步和异步调用的例子:
比如你的程序调用了一个方法,这个方法要执行很长很长时间,而且这个时间都不确定,传统的办法就是“同步调用”,如下:private int Func(){// 这个方法要执行很长时间,并且返回一个int的值。}private void A(){int n = Func();textBox1.Text = n.ToString();// 这里得到的n就是Func执行出来的结果,并且显示在textBox1中。}采用上述方法,可以叫做同步调用,很明显它有一个缺点:Func方法执行的时间过长,程序会阻塞,并且无法继续执行其他的代码,给用户的体验就是整个程序都会僵着,打开任务管理器会提示该程序没有响应,用户以为程序死了,就会手动结束这个程序,而异步调用就不一样,在调用完Func这个方法后,不必等待Func执行完,就可以执行其他的代码,直到Func执行完,才把结果返回,如果Func提供了异步方法FuncAsync(),就可以这样调用:private void A(){FuncAsync();// 这里执行FuncAsync方法,并不会阻塞,程序会在后台执行完FuncAsync方法后,自动调用FuncCompleted方法,并且把结果传过去。}private void FuncCompleted(int n){textBox1.Text = n.ToString();// 参数n就是异步回调返回的结果,}
原文出处:来自百度知道
- c++中的异步和同步机制
- 同步和异步消息机制
- 同步和异步消息机制
- 线程同步和异步区别 异步机制
- 线程同步和异步区别 同步机制
- JavaScript编程中的同步与异步机制
- ext中的同步和异步
- JAVA中的同步和异步
- 线程中的同步和异步
- Ajax中的同步和异步
- 计算机中的同步和异步
- Java中的同步和异步
- 计算机中的同步和异步
- javascript中的异步和同步
- C语言同步和异步
- 【C++】Android中的同步机制
- linux中同步和异步机制
- 异步和同步http请求超时机制
- 黑马程序员—C#中结构和类的区别
- inux errno 错误对照表
- checking network configuration requirements . The overall result of this check is: Not executed
- JSON必知
- 设计模式--行为型--观察者模式
- c++中的异步和同步机制
- USB Camera摄像头 (UVC 与 gspca)
- 编译oRTP库
- 黑马程序员——ASP.net中http协议
- 如何使用gdb调试程序
- c# .net 调用php 的webservice接口
- 黑马程序员—asp.net基础篇1
- JSP标准标签库(二)
- listView显示网路图片,并保存本地