关于阻塞、非阻塞、异步、同步
来源:互联网 发布:手机ios数据恢复 编辑:程序博客网 时间:2024/06/10 05:23
阻塞:
比如:recv()这个函数就是阻塞函数,只有读到数据了才会返回;
还有accept()这个函数也是阻塞函数,只有客户端连接上来了才会返回,不然整个程序都停留在accept出现的地方阻塞着,一直等着有客户端连接上来accept返回后才继续执行下去。
非阻塞就是和上面相反的意思。
同步也就是和阻塞差不多的意思,当然还有线程里的同步又是另外一个意思了。
异步和同步相反。
比如:recv()这个函数就是阻塞函数,只有读到数据了才会返回;
还有accept()这个函数也是阻塞函数,只有客户端连接上来了才会返回,不然整个程序都停留在accept出现的地方阻塞着,一直等着有客户端连接上来accept返回后才继续执行下去。
非阻塞就是和上面相反的意思。
同步也就是和阻塞差不多的意思,当然还有线程里的同步又是另外一个意思了。
异步和同步相反。
同步,就是实时处理,比如服务器一接收客户端请求,马上响应,这样客户端可以在最短的时间内得到结果,但是如果多个客户端,或者一个客户端发出的请求很频繁,服务器无法同步处理,就会造成涌塞。
异步,就是分时处理,服务器接收到客户端请求后并不是立即处理,而是等待服务器比较空闲的时候加以处理,可以避免涌塞。
异步,就是分时处理,服务器接收到客户端请求后并不是立即处理,而是等待服务器比较空闲的时候加以处理,可以避免涌塞。
同步方式指的是发送方不等接收方响应,便接着发下个数据包的通信方式;而异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。
阻塞套接字是指执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上,比如调用recv()函数读取网络缓冲区中的数据,如果没有数据到达,将一直挂在recv()这个函数调用上,直到读到一些数据,此函数调用才返回;而非阻塞套接字是指执行此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用recv()函数读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。在实际Windows网络通信软件开发中,异步非阻塞套接字是用的最多的。平常所说的C/S(客户端/服务器)结构的软件就是异步非阻塞模式的。
阻塞套接字是指执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上,比如调用recv()函数读取网络缓冲区中的数据,如果没有数据到达,将一直挂在recv()这个函数调用上,直到读到一些数据,此函数调用才返回;而非阻塞套接字是指执行此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用recv()函数读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。在实际Windows网络通信软件开发中,异步非阻塞套接字是用的最多的。平常所说的C/S(客户端/服务器)结构的软件就是异步非阻塞模式的。
上面的结论是网友总结,个人整理的,仅供参考。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
- 关于阻塞、非阻塞、异步、同步
- 关于异步,同步,阻塞与非阻塞
- 关于异步,同步,阻塞与非阻塞
- 关于异步,同步,阻塞与非阻塞
- 关于异步,同步,阻塞与非阻塞
- 关于异步,同步,阻塞与非阻塞
- 关于异步,同步,阻塞与非阻塞
- 关于阻塞/非阻塞/同步/异步问题
- 关于同步异步非阻塞阻塞[推荐]
- 关于阻塞,非阻塞,同步,异步
- 226 关于同步、异步、阻塞、非阻塞
- 关于异步,同步,阻塞与非阻塞
- 同步阻塞, 同步非阻塞,异步阻塞,异步非阻塞
- 同步、异步、阻塞、非阻塞
- 同步,异步,阻塞,非阻塞
- 同步 异步 阻塞 非阻塞
- 同步,异步,阻塞,非阻塞
- 阻塞,非阻塞,异步,同步
- 多线程函数和静态线程函数调用类成员非静态变量和函数的问题
- 3G在中国没有前景 争论无意义
- ROS长时间不关机后DNS不能解析的解决方法
- 26岁美女CEO达贝妮:素手轻赚数千万
- "dst cache overflow" issue.
- 关于阻塞、非阻塞、异步、同步
- STRUTS2 TAG
- 为动态生成的html元素增加事件处理
- 使用适用于 Win32* 线程的英特尔® 线程性能分析器:原理与理论
- VS2008的新特性
- 还有多少程序员可以疯狂
- 容器深入研究
- 利用magicAjax实现webParts无刷新拖动
- 关于TCP的Ack(应用层和底层协议)