首先,并不建议大家用Csocket,经验之谈,CAsyncSocket基础上派生的一个同步阻塞Socket的封装类,也就是说编程的过程很多麻烦,但是我坚持下来了。。。。。好烦。。。。
.................................................分割线..........................................................
分类:
其他好文 时间:
2014-11-04 17:30:36
阅读次数:
257
PHP的异步并行swoole扩展在1.7.7中内置了一个Http服务器,利用swoole_http_server可以轻松实现一个PHP的异步Web服务器,性能比php-fpm/Apache等同步阻塞的服务器高出数倍。 swoole官方还提供了redis-async,一个异...
分类:
Web程序 时间:
2014-10-30 13:40:14
阅读次数:
304
1. Linux IO 模型矩阵2. 同步阻塞IO3. 同步非阻塞IO4. 异步阻塞IO5. 异步非阻塞IO
分类:
系统相关 时间:
2014-10-29 14:45:20
阅读次数:
206
[同步和异步]通俗的讲:同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(...
分类:
其他好文 时间:
2014-10-12 23:12:18
阅读次数:
278
不少人把同步、异步、阻塞、非阻塞放到一起讨论,很多时候难以区分。
这里从根上剖析下该怎么看待这几个概念。
首先,异步和同步是相对的,而同步情况下又有阻塞和非阻塞之分。
异步很容易理解。当用户程序需要进行IO的时候,发出IO请求,然后就立刻返回,可以继续做其它事情。
例如,从网络收包,当包抵达后放到内核某个缓存区,并且从内核空间放置到程序需要的用户空间后(一种是直接复...
分类:
其他好文 时间:
2014-10-10 23:07:44
阅读次数:
166
在同步阻塞的网络编程中,代码都是按照TCP操作顺序编写的,即创建连接、多次读写、关闭连接,这样很容易判断这一系列操作是否是同一个连接。而在事件驱动的异步网络编程框架中,IO操作都会触发一个事件调用相应的事件函数,例如接收到客户端的新数据,会调用messageReceived(MINA)、channelRead(Netty)、dataReceived(Twisted),同一个TCP连接的多次请求和多个客户端请求都是一样的。
那么如何判断多次请求到底是不是同一个TCP连接,如何保存连接相关的信息?针对这个问题,...
分类:
Web程序 时间:
2014-09-10 14:13:00
阅读次数:
208
老张爱喝茶,废话不说,煮开水。
出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。
1 老张把水壶放到火上,立等水开。(同步阻塞)
老张觉得自己有点傻
2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)
老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。
3 老张把响水壶放到火上,立等水...
分类:
其他好文 时间:
2014-09-09 12:55:11
阅读次数:
181
1. 阻塞I/O通信模型1.性能:一连接一线程模型导致服务端的并发接入数和系统吞吐量受到极大限制2.可靠性:由于IO操作采用同步阻塞模式,当网络拥塞或者逻辑处理缓慢会导致IO线程被挂住,阻塞时间无法预测3.可维护性:IO线程数无法有效控制、资源无法有效共享(多线程并发问题),系统可维护性差2.异步、...
分类:
编程语言 时间:
2014-08-31 18:38:51
阅读次数:
308
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种...
分类:
其他好文 时间:
2014-08-14 13:23:58
阅读次数:
134
Darwin Streaming Server 是一个开放源代码的streaming server,对于streaming server的编程和软件结构有着一定的参考价值,它是使用C++写的,其中的并发模式的核心就是Task类,下面写一下我的理解:多任务的程序常常采用线程+同步阻塞IO的模式, 每个...