那位高手可以帮我解释一下同步和异步的概念?同步和异步的区别!在下不胜感激!!!
解决方案 »
- 求助一个函数
- MFC 输出字符串到主程序框(GetWindowTextLength出现问题)
- 最近学习p2p,请教几个问题,另寻socket模拟http服务和media player通信的资料
- 如何像windows资源管理器的树视图一样实现动态更新?
- 该文件连接为DEBUG的应用程序时,连接成功,为何在连接为Release时,失败?
- 寻vc5安装文件
- 在mainframe上创建了CDialogBar,没有创建它的类,如何把图贴到CDialogBar上
- 如何设置当前视口的默认字体?
- MFC关于时间控制的问题
- 请问server怎么接受client端的命令请求?最好给个开源的源代码
- liuchaotao:请问FlxGrid控件怎么用法
- 我编的程序中用了一个FlexGrid网格控件,在其他没有装VC的机子上无法使用,怎样才能解决这个问题?
对于软件上,同步是指一个进程/线程执行一个操作后,等待另一个进程/线程的动作后在继续,如同两个进程按一定规则,你等等我我等等你一起走;异步是说一个进程作了一个操作后,不用等待另一进程的结果就继续向下进行,两个进程的事件上没有同部的关系。所以socket同步传送,程序返回就知道传完了,异步送和收的动作可能相差很久,需要队列、缓冲区等方式先将数据保留。
结构清晰,编程简单,执行一个通讯过程相当于执行一个函数调用,简单易用。通常采用有限等待方式。即:发送一个数据后,一直等待对方回应,知道超时为止。
缺点:在这断时间里,该线程处于阻塞状态,界面失去响应。采用异步控制方法,优点:
程序效率很高。
缺点:结构不清晰,编程相对复杂,一般需要自已处理发送队列,收到回应后,需要查询发送队列,将处理结果通知发送者(可以采用回调函数方式)。