摘要:
vector是定义于namespace std内的template:namespace std{ template> class vector;}vector优异性能的秘诀之一,就是配置比其所容纳的元素所需更多的内存。capacity()函数返回vector实际能够容纳的元素数量。如果超... 阅读全文
摘要:
当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中 执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用 户态)。... 阅读全文
摘要:
事件处理框架通过事件驱动机制来处理事件ngx_event_module 事件模块ngx_event_core_module 决定使用哪个事件驱动机制即事件驱动模块每个事件驱动模块都要实现ngx_event_module_t接口-------------------------------------... 阅读全文
摘要:
http://blog.csdn.net/han_xiaoyang/article/details/11938973#t6 阅读全文
摘要:
1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1.2. 线程同步(锁)多 线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元 素都是0,线程"set"从后向前把所有元素改成1,而... 阅读全文
摘要:
1 urllib2.urlopen(url[, data][, timeout])请求url,获得请求数据,url参数可以是个String,也可以是个Request参数没有data参数时为GET请求,设置data参数时为POST请求,另外data格式必须为application/x-www-form... 阅读全文
摘要:
静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。注意:const常量在定义时必须初始化栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放,栈区由系统自动分配。堆区:亦称动态内存分配。... 阅读全文
摘要:
一、拥塞控制的一般原理拥塞:对网络中某一资源的需求超过了该资源所能提供的可用部分拥塞控制是防止过多的数据注入到网络,这样可以使网络中的路由器或链路不致过载,拥塞控制是一个全局性的过程。流量控制往往指点对点通信量的控制,是个端到端的问题。二、拥塞控制的四种算法1.慢开始和拥塞避免发送方维持一个叫做拥塞... 阅读全文
摘要:
一、利用滑动窗口实现流量控制流量控制是让发送方的发生速率不要太快,要让接收方来得及接收。发送方的发送窗口不能超过接收方给出的接收窗口的数值,TCP的窗口单位是字节,不是报文段。TCP为每一个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器设置的时间到期... 阅读全文
摘要:
当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种: 1.使用多进程或者多线程,但是这种方法会造成程序的复杂,而且对与进程与线程的创建维护也需要很多的开销。(Apache 阅读全文