进程间通信---共享内存

       前边说过,进程间通信的实质就是让两个不相干的进程看到同一份公共的资源,而内存是资源的一种,那么,如果让两个进程可以使用同一块内存,两个进程都可以往这块内存里边写东西和取东西,这不就是实现了进程间的通信了么。通过共享内存实现进程间的通信,原理很简单,主要就是它的实现了。       每...

2018-03-30 23:42:10

阅读数 435

评论数 0

AVL树的旋转详解

       二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素也就相当于是在顺序表中搜索元素,效率低下。因此,为了解决二叉搜索树中单支树的这种情况,两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了AVL(平衡...

2018-03-30 11:11:04

阅读数 43

评论数 0

僵尸进程&孤儿进程

僵尸进程僵尸状态是一个比较特殊的状态,当进程退出并且父进程没有读取到子进程退出的相关信息就会产生僵尸进程。(可以理解为孩子死了还有遗言没有说给父亲听,导致有一口气一直咽下去,就变僵尸了)僵尸进程会以终止状态保持在进程表中,并且会一直等待父进程读取退出状态代码。即只要子进程退出,父进程还在进行,但父...

2018-03-27 16:59:43

阅读数 117

评论数 0

进程间通信---消息队列

所谓消息队列,字面意思就是传递消息的队列,事实上也正是如此。消息队列提供了一种从一个进程向另一个进程发送一块具有类型的数据块的方法。那么什么是有类型的数据块呢?       先解释一下数据块,消息队列,首先它是队列,那么他可以使用顺序表或者链表两种常见的数据结构来实现。其次它是用于传递消息的队列,...

2018-03-26 19:25:26

阅读数 44

评论数 0

什么是进程?

  程序:完成特定任务的一系列指令集合           代码段+数据段          -----放在磁盘中的程序  进程:进行就是正在进行中的程序          1、用户角度: 进程是程序的一次动态执行过程          2、操作系统: 进程是操作系统分配资源的基本单位...

2018-03-25 12:10:57

阅读数 241

评论数 0

怎么实现进程替换

当没有指定查找路径时Windows 会默认在当前路径下查找Linux 默认在系统规定的目录(规定的目录是在PATH里边写死的)去查找,是不会在当前路径里边查找的要想在当前目录下查找,必须把当前路径配到PATH里边去如何将进程的空间的替换掉?------加载程序加载器----exec系列的函数---...

2018-03-25 09:55:15

阅读数 205

评论数 1

一次fork与两次fork的区别

在讲一次fork和两次fork之前,有必要先来简单讲解一下wait的作用1、阻塞当前进程2、获得子进程退出的相关信息(回收僵尸进程)子进程不返回,父进程后边的内容就没法执行。注:wait函数只能在有子进程的父进程中调用。我们使用fork()函数创建一个子进程出来往往是为了父子进程能够同时执行两段代...

2018-03-24 21:42:41

阅读数 159

评论数 0

进程间通信---管道

      想必大家一定听说过这样一句话:Linux中一切皆文件。而管道就是进程间基于内存文件的通信机制。也是最传统的通信机制。管道,想象一下我们现实生活中的管道,都是有两端,两端都可以进,也都可以出。但是,我们都知道一般安装好了的管道都是一边用于进,一边用于出,毕竟使用管道就是用来帮我们传输一些...

2018-03-22 13:06:58

阅读数 48

评论数 0

实现一个类只能在栈(堆)创建对象

禁用new运算符实现只能在栈上创建对象的类       其实只要不使用new操作符,类创建出来的对象就是在栈上创建的。但是,当你声明了一个类,难免会使用new操作符去创建一个对象,就算你能保证自己不使用new,也难以保证别人不去使用new。为了保证一个类的对象都是在栈上创建,那么,最有效的方式就是...

2018-03-21 23:18:24

阅读数 91

评论数 0

简易进度条的实现

引子看如下程序:运行这个程序结果发现三秒过后会先输出haha 然后再输出hehe。(这个停留的三秒要自己去亲测感受一下,在图片上是看不出来的)接着看,当把sleep(3);放到fprintf(stderr,"haha");后边,然后再运行,会发现,会先输出hah...

2018-03-17 11:45:34

阅读数 82

评论数 0

不用+-*/实现加法运算

题目:实现一个Add函数,让两个整数相加,但是不能使用+ - * /等四则运算符。      从题目来看这道题还是比较苛刻了,其实解决起来也不难。既然不能使用四则运算,应该是本能的就想到使用位操作了。首先来讲解一下大致的思路,使用 异或^ 操作来完成对应位相加操作,再使用 按位与&...

2018-03-04 23:49:19

阅读数 373

评论数 0

多种方法实现加法求和

题目:求1+2+3+……+n的和,要求不能使用乘除法、循环、条件判断、选择相关的关键字。首先来回忆一下求1+2+3+……+n的和的最基础的几种解法:法1:int Sum(int n){     int sum = 0;     while (n)          sum += n--;     ...

2018-03-04 22:36:07

阅读数 85

评论数 0

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