自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

进击的小学生

To be or not to be, this is a question.

  • 博客(15)
  • 资源 (10)
  • 收藏
  • 关注

原创 75-初识线程

1. 问题提出 编写程序模拟 Allen 和 Luffy 爬楼,楼层是从 1-10 层。Allen 每上一层休息 10ms,Luffy 每上一层休息 5ms. (需要注意的是 Allen 和 Luffy 是一起爬楼的,而非某个人先爬楼,爬完后接着另一个人爬楼。)对于上述问题,利用多进程编程可以很好的解答。我们可以在父进程中执行 Allen 的爬楼过程而在子进程中执行 Luffy 的爬楼过程。但

2017-02-27 13:08:22 1687 7

转载 Linux 中 pthread 线程库历史

作者:大河 链接:https://www.zhihu.com/question/35128513/answer/148038406 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 原问题:Linux下调用pthread库创建的线程是属于用户级线程还是内核级线程?求大神指教?这个事情,还真不是一句话就能回答的,因为涉及到Linux和编译器的版本关于线程的概

2017-02-27 09:53:27 3722

原创 74-守护进程(实现)

前面已经介绍了守护进程的基本概念,还介绍了一个系统为我们提供的函数 daemon 函数,通过该函数可以创建守护进程。本文主要分析 daemon 函数是如何实现的。通过前文的实验结果可以猜测,守护进程的创建步骤必定需要 fork 子进程,创建会话,关闭标准输入、标准输出和标准错误文件描述符。1. 守护进程编写规则(1) 设置 umask。 (2) 调用 fork,然后使父进程退出。这样做保证子进程

2017-02-26 19:05:30 1264 8

原创 73-守护进程(概念)

守护进程的概念;如何创建守护进程。

2017-02-26 18:10:29 1483

原创 72-孤儿进程与孤儿进程组

之前有学习过僵尸进程,它指的是“未老先衰”的子进程先于父进程去逝,而父进程未对它进行回收(wait)所产生的。本文来谈谈,另一个对立的概念——孤儿进程,以及孤儿进程组。1. 孤独进程如果一个进程,它的父进程先终止了,则该进程成为孤儿进程。此后,该进程的父进程变为 1 号 init 进程。下面的代码可以产生一个孤儿进程。int main() { pid_t pid = fork(); if (

2017-02-26 15:02:51 3305 2

原创 71-后台进程组与控制终端

本篇需要理清后台进程组与控制终端的关系。我们已经知道,如果会话有一个控制终端,只有前台作业接收终端输入。1. 问题提出如果后台进程组中的进程尝试读写控制终端,会怎么样?这里有两种情况,分别如下:读控制终端终端驱动程序会检测到此种情况,并向后台进程组中的所有进程发送一个特定信号 SIGTTIN. 默认情况下些信号导致此后台进程组停止。写控制终端终端驱动程序会检测到并向后台进程组中的所有进程发送

2017-02-25 17:28:35 1195 8

原创 70-设置前台进程组

如果一个会话有控制终端,那么该会话就有一个前台进程组。此时在终端中的输入以及终端产生的信号默认都发送给前台进程组中的所有进程。前台进程组是可以通过程序进行设置的。在同一个会话中,调用 tcsegpgrp 函数可以设置某个进程组为前台进程组。1. 目标任务1: 在 bash 中启动你的进程,然后将前台进程组设置为 bash 所在的进程组。 任务2:关闭启动你进程的终端,查看你的进程能收到什么信号。2

2017-02-25 15:07:01 1360

原创 69-控制终端、前台进程组与后台进程组

1. 控制终端一般来说,在 bash 中运行的进程,都会伴随着一个控制终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制终端。需要特别注意的是,控制终端是进程的属性,它保存在进程 PCB 中。而 bash 进程在启动的时候,会自动建立一个控制终端。所以由 bash 进程启动(fork)的进程都会继承控制终端。所以在同一个会话中,控制终端都是一样的。进程可以没有控制终

2017-02-24 17:56:14 2281 1

原创 68-会话(创建会话)

在掌握会话的相关概念后,本篇完成一个创建会话的实例。1. 目标创建一个新会话,该会话中只有一个进程,就是创建该会话的进程。2. 思路创建会话的一个必要条件就是创建会话的进程不能是进程组组长。 这样做的理由是:假设该进程是进程组组长,创建完该会话后,该进程成为了其它会话中的 session leader。然而,其组员(如果存在的话)仍然存在于原来的会话中,这将导致同一个进程组中的进程处在不同会话中

2017-02-24 11:19:40 2329 2

原创 67-会话

1. 会话的基本概念前面已经学过,进程组是一个或多个进程的集合。而会话(session),是一个或多个进程组的集合。创建进程组的进程,是进程组组长,而创建会话的进程,是会话长,通常我们不说会话长,而是称其为会话首进程,用英文其实更加确切——session leader.图 1 展示了一个会话。 图1 进程组和会话中的进程安排 图 1 中的会话,可以使用以下命令形成:$ cat | cat &

2017-02-23 18:53:34 1125

原创 66-进程组(实验二)

上一篇文章完成了一个有关进程扇和进程组的练习,不过在结尾处留了一个小坑,本篇也不打算继续填坑,毕竟这是作为练习留在篇末的。1. 目标本篇希望利用进程链完成一个小实验,希望达到图 1 中的效果,即将进程 0 (父进程)和进程 2 设置成一组,假设为组 1,将进程 1 和 进程 3 设置成另一个组,假设为组 2. 另外,我们希望进程 0 和进程 1 分别是这两个组的组长。 图1 将进程链分成两组

2017-02-23 16:48:33 1046 1

原创 65-进程组(实验一)

在上一节,我们仅仅对进程组做了一个简单的介绍,以及两个相关的函数 getpgid 和 setpgid,不知道你有没有完成最后那个练习。如果你遇到困难,可以在文章后面留言,或者加入讨论群 610441700。1. 目标本篇希望利用进程扇完成一个小实验。该进程扇有 1 个父进程和 3 个子进程,我们希望达到图 1 中的效果,即将进程 0 (父进程)和进程 1 设置成一组,假设为组 1,将进程 2 和 进

2017-02-23 11:02:07 1239 2

原创 64-进程组

1. 进程组概念在 linux 中,进程不但有自己的 id 号,还会有一个组 id 号。我们把拥有相同组 id 号的进程的集合称为一个进程组。信号与进程组使用 kill -n -pgid 可以将信号 n 发送到进程组 pgid 中的所有进程。例如命令 kill -9 -4115 表示杀死进程组 4115 中的所有进程。进程组的生命期从被创建开始,到其内所有进程终止或离开该组。 例如,

2017-02-22 16:58:59 1461

原创 63-进程扇与进程链

本章话题主要关注进程间关系。比如有关进程组、进程组组长、会话、前台进程组等这些概念。设计进程扇和进程链的概念,是为了方便描述进程间关系以及完成相关的实验。1. 进程扇如果有一个进程,它生成了若干个进程,这若干个进程之间都是兄弟进程,就把这种关系称为进程扇结构,这一系列进程就是一个进程扇。如图 1 所示。 图1 进程扇 1.1 进程扇构造代码// ps_swing.c#include <un

2017-02-21 17:48:12 2308

原创 C++ 实现反射机制

1. 什么是反射学过 Java 或 C# 的同学应该都知道“反射”机制,很多有名的框架都用到了反射这种特性。这是一种很牛逼的特性,简单的理解就是只根据类的名字就可以获取到该类的实例。有人会说,这不是多此一举吗?直接 new 一个出来不就行了吗?像下面这样:class Person {public: virtual void show() = 0;}class Allen : public

2017-02-20 15:35:57 11459 8

EasyDraw 3.0(事故树绘制)

EasyDraw 事故树软件,3.0 版本,完全免费。排版更加精致,支持生成 svg 矢量图,png/jpeg 图形。

2018-11-02

GCC 内联汇编

gcc 内联汇编 1 AT&T 与 INTEL 的汇编语言语法的区别 1.1 大小写 1.2 操作数赋值方向 1.3 前缀 1.4 间接寻址语法 1.5 后缀 1.6 指令 2 GCC 内嵌汇编 2.1 简介 2.2 内嵌汇编举例 2.3 语法 2.3.1 汇编语句模板 2.3.2 输出部分 2.3.3 输入部分 2.3.4 限制字符 2.3.5 破坏描述部分 2.4GCC 如何编译内嵌汇编代码

2018-10-28

k近邻_kd-tree_kd树_vs2008_C++代码

vs2008写的Kd树泛型算法,支持k近邻查询。

2014-12-15

梯度下降法VS2008_C++

梯度下降法完整的VS2008代码。博客地址:http://blog.csdn.net/q1007729991/article/details/40382071

2014-10-23

事故树绘制软件easydraw免费V2.19

免费版本的事故软件,实现所有计算功能,节点自动调整,建树判错等功能!支持导出图片。

2013-12-13

增强版事故树绘制与分析程序

1.完善建立事故树的过程 2.事故树节点自动排列,免去手工排列节点的烦恼 3.编号自动生成,免去手工编号的繁琐 4.自动检测是否有闭环回路,防止用户建立逻辑上错误的事故树 5.自动检测用户是否在一个事件下重复添加 6.相同事件下建立节点,会进行同步复制,提高建树效率 7.相同事件下删除节点,会进行同步删除 8.手工拖动节点时自动对齐 9.修改节点信息,所有相同节点进行同步修改 10.画布大小自定义 11.画布颜色,事件框颜色,门颜色,文字颜色可以自定义 12.完美的一键保存bmp图片功能 13.编码树与文字树一键切换 14.列出事件清单,方便用户一次性输入事件概率 15.完善顶上事件概率计算,提供最小割集逼近法,无重复基本事件计算法,首项近似法,以及事件状态组合法。 16.优化最小割集、径集算法,提高计算速度 17.结构重要度删除不必要的状态组合法,仅提供公式三计算结果 18.提高了概率重要度、关键重要度的计算精度

2013-04-19

事故树绘制分析软件

简单易用,功能其全的一个事故树绘制分析软件,用以计算最小割集,最小径集,顶上事件概率,概率重要度,结构重要度,临界重要度,计算方法可选。 计算的结果可以保存到本地txt文本文件,方便您复制到您需要的地方,给您的论文写作也会带来极大方便。概率计算提供一套精确算法,可以根据您所提供的数据计算出精确结果。当然您也可以选择近似算法,本软件提供首项近似法和平均近似法的计算结果,给您多种选则。软件非常简单易用,自己几分钟就可以学会,谢谢您的使用!

2012-12-17

MFC 音乐播放器

基本上实现了常用的播放功能,可以自动下一首,通过音量条控制音量,实现时间进度栏,实现将添加到列表的歌曲文件列表存储到本地,下次启动的时候依然还在,更多功能等待你的发觉,不要说分高,学习才是王道,尊重作者的劳动成果,花了两天时间写的。

2012-12-12

汇编_单片机_matlab_Multisim等

注意:此为TXT文档,里面都有下载地址,你所要下载的东东都在我的u115网盘里! 静态反汇编工具W32Dasm.rar 51单片机种子全.rar win7系统工具.rar matlab详细教程.rar Multisim教程.exe 中国象棋经典残局《适情雅趣》_0.1.exe UltraEdit-32_V16.20.0.1009_汉化版(30天免费使用).exe 精美PPT模板_2009.11.30.zip VC6.0简体中文企业版.rar

2010-11-24

空空如也

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

TA关注的人

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