自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

转载 线程读写锁的实现

转载:http://blog.csdn.net/ojshilu/article/details/25244389对于某个临界资源的访问,读操作和写操作是要区别对待的。读操作可以多个线程同时进行,写操作必须互斥进行。读写锁:当已经被加了读锁时,其他的读模式锁请求仍然可以访问,但是写模式锁不能访问;当写模式锁加锁时,其他的请求都不能访问。本文尝试用四种方法来完成读写

2017-09-24 22:16:42 465

原创 虚继承内存布局(2019.10.22)

转载自:http://blog.csdn.net/xsh_123321/article/details/59562891.为什么需要虚继承如下图所示如果访问Der::Fun or Der::m_nValue就会带来二义性,无法确定是调用Base1的还是Base2的,所以为了解决多重继承情况下成员访问的二义性,引入了虚继承机制。一般继承 ...

2017-09-24 16:47:42 335

原创 共享内存

转载自:Linux共享内存实现机制的详解内存共享: 两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。效率: 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数

2017-09-23 23:42:08 209

原创 模板全特化与偏特化(2019.10.22)

转载自:http://www.cnblogs.com/staring-hxs/p/3659479.html模版的完全特化与偏特化模版特化:任何针对模版参数进一步进行条件限制设计的特化版本。 <<泛型思维>>完全特化:针对所有的模版参数进行特化。 <<c++ primer>>举例如下:template<class T,...

2017-09-23 20:27:31 439

转载 TCP、UDP的优缺点

TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接

2017-09-23 15:13:01 772

转载 TCP如何保证可靠传输

http://blog.sina.com.cn/s/blog_63ec18bc01016gcv.html在TCP的连接中,数据流必须以正确的顺序送达对方。TCP的可靠性是通过顺序编号和确认(ACK)来实现的。TCP在开始传送一个段时,为准备重传而首先将该段插入到发送队列之中,同时启动时钟。其后,如果收到了接受端对该段的ACK信息,就将该段从队列中删去。如果在时钟规定的时间内,ACK未返回,那么

2017-09-23 15:09:30 415

转载 文件系统

转载:http://www.cnblogs.com/ching2009/p/5120275.htmlLinux文件管理从用户的层面介绍了Linux管理文件的方式。Linux有一个树状结构来组织文件。树的顶端为根目录(/),节点为目录,而末端的叶子为包含数据的文件。当我们给出一个文件的完整路径时,我们从根目录出发,经过沿途各个目录,最终到达文件。我们可以对文件进行许多操作,比如打开和

2017-09-22 20:36:07 295

转载 僵尸进程

转载自:http://blog.csdn.net/gb4215287/article/details/518553101. 产生原因:    在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。通过ps命令查看其带有defunct的标志。僵尸进程是一个早已死亡的进程,但在进程表 (processs table)

2017-09-22 12:04:36 198

转载 为什么TCP是面向连接的,UDP是无连接的

连接是对状态的保持,我是这样理解的实际上就是在客户端和服务器端都维护一个变量,这个变量维护现在数据传输的状态,例如传输了哪些数据,下一次需要传输哪些数据,等等,并不是真的我们想象中的真的有什么东西连接着这两端,因为无论对于有连接还是无连接,都有网线连着呢(不包括无线网),所以连接根本就不是是否真的有什么东西把他们连接起来,真实的含义就是我上面说的,两边维护一个状态变量。

2017-09-22 11:15:42 12331 3

原创 菱形继承与解决方案

转载自:http://blog.csdn.net/xiaolewennofollow/article/details/52203891在C++继承中考虑这样一个关系: B与C都是从相同的基类派生的,该基类称为A,然后D多重继承了B和C,因为B和C都包含了A的子对象。所以C包含了A的两个子对象。继承关系如下图从继承图形状上看,有时该继承层次结构称为菱形。没有菱形时,多重继

2017-09-21 10:32:32 763

转载 概率性算法

转载自:http://blog.csdn.net/chdhust/article/details/10601167等概率随机函数面试题总结       在面试中也常考等概率随机函数的题目,所以很重要,特此整理下,资料全来自网上。1. 几道热身等概率随机函数题首先我们来一道最简单的题目作为引子1、已知有一个随机函数rand_0_and_1_with_p(),它

2017-09-20 23:51:54 1701

转载 getopt_long函数

转载自:http://blog.csdn.net/men_wen/article/details/61934376最近在学习《Unix网络编程》vol2时,发现书中例子经常使用一个命令行解析getopt函数,因为函数声明比较特别,根据自己摸索,遂总结出使用方法。1. getopt函数的声明该函数是由Unix标准库提供的函数,查看命令man 3 getopt#

2017-09-15 22:40:54 262

原创 Linux C++编译

g++ threadpool.cpp -o threadpool -std=c++11 -lpthread

2017-09-12 10:20:48 400

原创 类静态数据成员定义

转载自:http://blog.csdn.net/u011499425/article/details/52751636我们知道C++类的静态成员变量是需要初始化的,但为什么要初始化呢。其实这句话“静态成员变量是需要初始化的”是有一定问题的,应该说“静态成员变量需要定义”才是准确的,而不是初始化。两者的区别在于:初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有

2017-09-11 09:13:52 4749

转载 const变量-常量折叠-符号表

转载自:一、结论声明:不同于C语言的const变量修改问题(可以通过指针间接修改const变量的值),这里只讨论C++ 里的const。C++ const 修饰符,表示常量,即如果以后保证不会修改则声明为const,否则若要修改,那一开始为什么还要声明为const呢?根据C++标准,对于修改const变量,属于:未定义行为(指行为不可预测的计算机代码),这样一来此行为取

2017-09-08 16:31:11 1894

原创 char 与 int之间的转换

1.首先char与int都分为signed与unsigned类型,默认情况下都是signed类型。2.从长字节数据类型转换为短字节数据类型,会产生截断:如从4字节的int类型转换成1个字节的char类型,则取int数据的最低的一个字节,将这个字节的数据赋给char型数据,且是有符号的,即首位为符号位;而如果是从int转换成unsigned char类型,则整个一个字节都是数据,没有

2017-09-07 15:16:41 63307 1

转载 cookie与session

转载自:会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1  Coo

2017-09-05 22:14:13 231

原创 DNS与TCP、UDP协议(2019.10.27)

DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。先简单介绍下TCP与UDP。 TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协议。UDP---用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。...

2017-09-04 22:34:31 281

原创 fork之后,子进程从父进程那继承了什么

知道子进程自父进程继承什么或未继承什么将有助于我们。下面这个名单会因为 不同Unix的实现而发生变化,所以或许准确性有了水份。请注意子进程得到的是 这些东西的 *拷贝*,不是它们本身。由子进程自父进程继承到:进程的资格(真实(real)/有效(effective)/已保存(saved) 用户号(UIDs)和组号(GIDs))环境(environment)堆栈

2017-09-04 21:10:42 1263

原创 HTTP常见状态码

作为一个互联网开发人员对于一些服务器返回的HTTP状态的意思都必须是了如指掌的,只有将这些状态码一一弄清楚,工作中遇到的各种问题才能够处理的得心应手。好了,下面就让我们来了解一下比较常见的HTTP状态码吧!2开头 (请求成功)表示成功处理了请求的状态代码。200   (成功)  服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201   (已创建)  请求成功并

2017-09-03 21:50:41 340

原创 快速排序的稳定化版本

转载自:稳定排序的概念: 保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。 例如:a[i]==a[j]&&i通常的快速排序为什么不稳定?快速排序初始的版本:int partition(vectorint>&a, int s, int e) { if (s < e) { int low = s, high =

2017-09-02 10:09:20 2058

原创 stat函数与stat结构体

表头文件:    #include  函数定义:    int stat(const char *file_name, struct stat *buf); 函数说明:    通过文件名filename获取文件信息,并保存在buf所指的结构体stat中 返回值:     执行成功则返回0,失败返回-1,错误代码存于errno(需要include ) errno错误代码:

2017-09-01 20:10:29 3661

转载 CGI

转载:CGI接口原理及实现(2012-12-7 Over)1.CGI定义:      CGI(CommonGateway Interface)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。2.CGI功能:      绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理

2017-09-01 10:10:50 198

空空如也

空空如也

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

TA关注的人

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