2018年3月19日

TCP之Nagle算法与延迟ACK

摘要: (一)Nagle算法 为了减少网络中小分组的数目,减少网络拥塞的情况。Nagle算法要求在一条TCP连接上最多只能有一个未被确认的未完成小分组,在该分组ACK到达之前不能够发送其他的小分组,发送端需要收集需要发送的小分组,在接收端的ACK响应到来的时候将所有收集的小分组以一个大分组的形式发送出去。其 阅读全文

posted @ 2018-03-19 21:42 chenjx_ucs 阅读(310) 评论(0) 推荐(0) 编辑

哈希表(一):解决hash冲突的几种方法

摘要: (一)线性探测法 线性探测法是最简单的处理冲突的方法。 (1)插入元素:插入元素时,如果发生冲突,算法将从该槽位向后遍历哈希表,直到找到表中的下一个空槽,并将该值放入到空槽当中。 (2)查找元素:查找元素时,首先散列值所指向的槽,如果没有找到匹配,则继续从该槽向后遍历哈希表,直到:1)找到相应的元素 阅读全文

posted @ 2018-03-19 20:05 chenjx_ucs 阅读(8831) 评论(0) 推荐(0) 编辑

Linux后台研发面试题

摘要: 本系列给出了在复习过程中一些C++后台相关面试题,回答内容按照笔者的知识点掌握,故有些问题回答较为简略 1、信号的生命周期 一个完整的信号生命周期可以用四个事件刻画:1)信号诞生;2)信号在进程中注册完毕;3)信号在进程中注销完毕;4)信号处理函数执行完毕。 信号诞生:某个事件发生,触发相应信号; 阅读全文

posted @ 2018-03-19 16:36 chenjx_ucs 阅读(306) 评论(0) 推荐(0) 编辑

C++学习之路(四):线程安全的单例模式

摘要: (一)简单介绍 单例模式分为两种类型:懒汉模式和饿汉模式。 懒汉模式:在实际类对象被调用时才会产生一个新的类实例,并在之后返回这个实例。多线程环境下,多线程可能会同时调用接口函数创建新的实例,为了防止这种并发情况,需要采用锁机制来保证线程安全性,但由于多线程抢占互斥锁,可能会导致系统的性能瓶颈。 饿 阅读全文

posted @ 2018-03-19 16:02 chenjx_ucs 阅读(292) 评论(0) 推荐(0) 编辑

C++学习之路(三):volatile关键字

摘要: volatile是c++中的一个关键字。用volatile修饰的变量,具有三个性质:易变性 (一)易变性: 由于编译器对代码执行的优化,两条赋值语句,下一条语句可能会直接从上一条语句使用的寄存器中取得变量内容,通过volatile修饰变量,使得变量将被写会内存,对变量的访问也会直接从内存中读取,而不 阅读全文

posted @ 2018-03-19 14:03 chenjx_ucs 阅读(566) 评论(0) 推荐(0) 编辑

导航