自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Roman的博客

一只患有强迫症和痴呆症的非主流程序猿

  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

原创 排序分析 及使用情况

选择排序void SelectSort(Typename a[]){ int N=a.length; for(int i=0;i<N;i++) { int min =i; for(j=i+1;j<N;j++) { if(less(a[j],a[min]))

2015-07-29 18:18:36 460

原创 Linux SMP负载均衡

// 参考:http://blog.csdn.net/dog250/article/details/5303561// 负载均衡// 当rq->next_balance到时,触发负载均衡 // 调用路径:scheduler_tick->trigger_load_balance// 注:// nohz.cpu_mask中的cpu表示停用了周期时钟// 函数任务:// 1.如果进入

2015-07-01 10:01:48 752

转载 effective c++读书笔记

文章转自:http://blog.csdn.net/shenzi/article/details/5601038一.让自己习惯C++   条款01:视C++为一个语言联邦    为了更好的理解C++,我们将C++分解为四个主要次语言:C。说到底C++仍是以C为基础。区块,语句,预处理器,内置数据类型,数组,指针统统来自C。Object-Oreinted C++。

2015-06-30 11:02:59 370

原创 C++虚函数绑定的编译器实现

编译器为每个包含了虚函数的类创建一个表(vtable),在表中编译器放置特定类的虚函数地址,在每个带有虚函数的类中,编译器为每个类对象秘密的放置一个vpionter指针 ,指针指向vtalbe。通过基类的指针或者引用做虚函数调用时,编译器静态的插入取得vptr,并在vtable中找函数地址的代码,这样就能调用正确的函数使晚绑定发生。在子类继承时,也会继承基类的vtable,当子类中重写父类中的虚函

2015-06-30 10:08:54 1348

原创 进程和线程的区别

进程担当分配系统资源的基本单位线程是一个执行流,是cpu调度和分派的基本单位,是比进程能独立运行的更小的单位一个进程有几个线程组成,线程共享进程的地址空间,线程有自己的堆栈,但线程没有自己的地址空间,线程彼此使用相同的地址空间 共享大部分数据 启动花费少 而且便于线程间通信进程开销大 进程的切换从函数调用来看 进程是用fork 线程使用的是clone

2015-06-30 10:05:02 374

原创 同步 互斥锁 读写锁 区别

相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。  显然,同步是一种更为复杂的互斥,而互斥是一种

2015-06-30 09:50:14 9867 1

转载 Linux信号处理机制

1       信号本质软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因

2015-06-07 12:30:24 494

转载 Linux系统结构 详解

Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。 1. linux内核        内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程

2015-06-07 12:27:33 471

原创 文件共享

内核记录打开文件的所有信息,而应用程序只需记住描述符内核用三种数据结构来表示打开的文件:描述符表  --每个进程有自己独立的描述附表,他的表项是由进程打开的文件描述符来索引的,打开的文件描述符指向文件表的一个表项文件表--打开文件的集合用一张文件表表示,所有进程共享,文件表项包括当前文件位置,引用计数即指向当前文件表项的引用计数v-node表--所有进程共享,每个表项包含stat结

2015-06-03 22:23:34 311

原创 strchr strrchr strstr

函数名称: strrchr函数原型:char *strrchr(const char *str, char c);所属库: string.h函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。cha

2015-06-03 17:20:23 567

原创 webbench 源码解析

webbench作为一个简单的网站压力测试工具,小巧简单,其源码仅仅600行左右,是一个学习linux下C编程的好例子。解压后的webbench由下面几个文件组成:2个C源文件,一个是socket.c 另一个是webbench.csocket.c内部仅包含一个Socket函数,如下:int Socket(const char *host, int c

2015-06-03 14:56:13 721

原创 webbench源码学习

解读getopt_long()static const struct option long_options[]={ {"force",no_argument,&force,1}, {"reload",no_argument,&force_reload,1}, {"time",required_argument,NULL,'t'}, {"help",no_argument,

2015-06-03 11:22:42 379

原创 get和getline函数差别

//get(char*array,int count,char delim)与getline(char*array,int count,char delim)的不同点://1.当输入的字符数小于count时遇到字符delim,get函数不会读取delim这个字符,而getline函数将读取这个字符但是不存进array当中去,而是将其丢弃,当然,两者都会在读取的字符串后面自动加上'\0'(t

2015-05-27 19:49:44 756

原创 perf_event_open 设置性能监视

#include linux/perf_event.h>#include int perf_event_open(struct perf_event_attr *attr,pid_t pid, int cpu, int group_fd, unsigned long flags);功能:给定一个参数列表,perf_event_open()返回一

2015-05-14 14:34:46 6411

A *Algorithm ppt

A*算法在 路径搜索中的运用广泛。这里给出了A*算法的算法思想 以及具体流程

2013-11-19

实验指导_NS2部分_更新安装方法

实验指导_NS2部分_更新安装方法,NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。

2013-11-19

空空如也

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

TA关注的人

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