自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 问答 (1)
  • 收藏
  • 关注

原创 select、poll、epoll的原理、优点、缺点比较总结

实现多路复用输入/输出型模型的一种。让程序监视多个文件句柄的状态变化的。程序会停在select这里等待,知道监视到的文件句柄有一个或者多个发生了状态变化(从数据无到有)。编写select服务器步骤:(1)创建监听套接字socket();(2)填充本地信息,绑定bind();(3)监听套接字listen();(4)监视等待文件句柄是否发生状态改变select()1)创建所关心时间的文件描述符集fd_set,对于一个描述符,可以关心它上面的read、write、exception事件,所

2016-07-30 20:30:31 633

原创 TCP

在TCP协议的URG位(URGent),当URG=1时,表示紧急指针字段有效。他告诉系统次报文段有紧急指针,应该尽快的处理(相当于高优先级的数据),而不要爱哦按照原来的排序序列来传送。若不使用紧急指针,那么这两个字符将存储在接收TCP的缓存末尾。只有在所有数据段被处理完毕后这两个字符才能被交付到接收方的网应用进程。URP=1时,发送进程就告诉发送方有紧急数据要传输。于是,发送方TCP就把紧急指

2016-07-24 00:48:50 295

原创 IP的分片与组装

IP如何分片:检查DF标志位,检查是否允许分片。如果设置了该位,则数据报将被丢弃,并将一个ICMP错误返回给源主机。基于MTU,确定片长度,将数据长度分为若干部分。(除了最后的数据部分,所有新建的数据选项的长度必须是8个字节的整数倍。)每个数据部分被放入一个IP数据报,这些数的数据报的报头略微修改了原来的报文头。除了最后的数据报分片外,每个分片都设置了多个分片标志位。每个分片的偏移量字段设置为这个数据部分在原来的数据报所占的位置,这个位置相当于原来未分片的数据报的开头处。如果在原来的

2016-07-22 17:32:24 1369

原创 死锁的产生与解除

死锁不仅会发生多个进程中,也会发生在一个进程中。死锁的概念:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么改组进程是死锁的。死锁的常见表现:(1)多进程死锁:有进程A,进程B,进程A拥有资源1,需要请求正在被进程B占有的资源2。而进程B拥有资源2,请求正在被进程A战友的资源1。两个进程都在等待对方释放资源后请求该资源,而相互僵持,陷入死锁。(2)单进程死锁:进程A拥有资源1,而它又在请求资源1,而它所请求的资源1必须等待该资源使用完毕得到释放后才可被请求。

2016-07-18 18:32:38 3325 1

原创 管道

管道:管道由内核管理的一个缓冲区,可以抽象为现实生活的一个传输线路。管道的一端连接一个进程的输出,向管道中放入数据,一端连接进程的输入,向管道中取出数据。管道的内部实现机制:实际上pipe并没有单独的实现数据结构,他利用了文件在Linux中,而是借助了文件系统的file结构和VFS的索引节点inode。通过将两个file结构指向同一个临时的VFS索引节点,而这个索引节点

2016-07-17 18:08:30 525

原创 可重入函数与线程安全的区别与联系

•概念重入:即重复调用,函数被不同的流调用,有可能会出现第一次调用还没返回时就再次进入该函数开始下一次调用。可重入:当程序被多个线程反复执行,产生的结果正确。如果一个函数只访问自己的局部变量或参数,称为可重入函数。不可重入:当程序被多个线程反复调用,产生的结果出错。当函数访问一个全局的变量或者参数时,有可能因为重入而造成混乱,像这样的函数称为不可重入函数。线性安全:一般来说,一个函数被称为线程安全的,当且仅当被多个并发线程反复调用时,它会一直产生正确的结果。

2016-07-17 16:53:34 3573 3

原创 【数据结构】平衡搜索树之---B树的算法实现

#includeusing namespace std;#ifndef __BTREE_H__#define __BTREE_H__template//设为三阶B树(每个数组三个关键字)struct BNode{ BNode* _parent; size_t _size;//元素个数 K keys[M];//由于subs多了一个长度 BNode *subs[M+1];//为

2016-07-01 20:03:08 596

原创 HTML的学习(第2篇)

1.设置背景图片 2.索引 我是一名程序媛我你他图像1春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓春眠不觉晓as法国ghgfh他 3.文字在图片的不同位置设定 我是一名程序媛图像

2016-07-01 11:52:26 377

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除