同步异步,阻塞非阻塞
2017-01-16 00:00
183 查看
同步:发送一个请求,必须等到他返回结果才能发送下一个请求。
异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。有人也许会把阻塞调用和同步调用等同起来,实际上它们是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。例如,我们在CSocket中调用Receive函数,如果缓冲区中没有数据,这个函数就会一直等待,直到有数据才返回。而此时,当前线程还会继续处理各种各样的消息。如果主窗口和调用函数在同一个线程中,除非你在特殊的界面操作函数中调用,其实主界面还是应该可以刷新。socket接收数据的另外一个函数recv则是一个阻塞调用的例子。当socket工作在阻塞模式的时候, 如果没有数据的情况下调用该函数,则当前线程就会被挂起,直到有数据为止。
费阻塞:指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。有人也许会把阻塞调用和同步调用等同起来,实际上它们是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。例如,我们在CSocket中调用Receive函数,如果缓冲区中没有数据,这个函数就会一直等待,直到有数据才返回。而此时,当前线程还会继续处理各种各样的消息。如果主窗口和调用函数在同一个线程中,除非你在特殊的界面操作函数中调用,其实主界面还是应该可以刷新。socket接收数据的另外一个函数recv则是一个阻塞调用的例子。当socket工作在阻塞模式的时候, 如果没有数据的情况下调用该函数,则当前线程就会被挂起,直到有数据为止。
费阻塞:指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
相关文章推荐
- socket阻塞与非阻塞,同步与异步、I/O模型
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- 网络IO之阻塞、非阻塞、同步、异步总结
- 同步与异步 ,阻塞与非阻塞
- 同步和异步,阻塞和非阻塞
- 网络编程之同步,阻塞,异步,非阻塞
- IO - 同步,异步,阻塞,非阻塞
- IO的同步异步、阻塞非阻塞
- socket编程的同步、异步与阻塞、非阻塞示例详解之二
- 同步、异步、阻塞和非阻塞的理解
- 《聊聊Socket、TCP/IP、HTTP、FTP及网络编程》 / 《聊聊同步、异步、阻塞与非阻塞》
- 阻塞于同步异步
- 聊聊同步、异步、阻塞与非阻塞(转)
- 深入理解并发/并行,阻塞/非阻塞,同步/异步
- 同步、异步、与阻塞、非阻塞的区别
- 同步/异步、阻塞/非阻塞的理解
- socket阻塞与非阻塞,同步与异步、I/O模型
- 阻塞、非阻塞、同步、异步浅析
- Windows I/O模型、同步/异步、阻塞/非阻塞
- socket阻塞,非阻塞,同步,异步的区别