自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Doctor_xiong的博客

没啥写的

  • 博客(10)
  • 收藏
  • 关注

原创 【Linux】线程控制!!

在Linux里面线程被称为轻量级线程,而线程的退出有以下几种方法:线程调用return函数返回,但是在主线程里面不适用,因为主线程里面调用return函数相当于在主线程里面调用exit函数。线程调用pthread_exit函数退出线程调用pthread_cancel函数终止同一个进程里面的其他线程在系统的角度来看待线程是没有具体的结构的,在系统的眼里只有进程。所以线程和进程一样...

2018-03-31 21:54:26 193

原创 【数据结构】hash算法!!!

Hash表是一种可以将查找元素的时间复杂度降为O(1)的高效算法。 基本原理:将所有的数据通过hash函数映射到hash表里面,如果需要查找元素的时候再通过hash函数来计算出来元素在hash表里面的位置,从而一次将需要的元素找到。 存在的问题 如果有两个或者更多的元素通过hash函数映射的hash位置是相同的那么就会出现问题。 解决办法 线性探测: 在产生hash冲突的时候,...

2018-03-30 21:48:03 443

原创 【linux】线程的基本概念!!!

在linux里面是没有实际的线程的结构,但是在linux里面为了描述线程,将进程分为很多的轻量级进程,这些轻量级的进程被称之为线程。两个区别:进程是系统分配资源的基本单位线程是系统调度的基本单位由于线程在进程的内部运行,那么在创建一个线程的时候需要资源和操作相对于创建进程要少的多。创建进程的过程:申请空白PCB为新进程分配资源初始化进程控制块将新创建的进程...

2018-03-27 22:32:06 318

原创 【linux】信号的捕捉!!

在linux里面产生信号的时候并不是当信号产生的瞬间就将信号进行处理,而是当系统感到合适的时候就会将该信号进行处理。当执行用户自定义的信号处理动作的时候的信号执行过程 当执行的是用户的自定义信号处理函数的时候从内核空间返回到用户空间进行用户自定义的信号处理函数调用,当执行完用户自定义的信号处理函数的时候返回内核空间,然后再返回到用户空间继续执行进程的其他代码。int sigactio...

2018-03-24 16:11:38 247

原创 【linux】信号!!

在linux里面使用kill -l命令可以显示系统的信号列表 这里的1~31是普通信号,34~64是实时信号,这里只研究普通信号内核里面的信号 信号的产生用户在键盘上按下某些键的时候,驱动会发送信号给前台进程。硬件产生信号,当硬件检测到异常的时候会通知内核,内核给进程发送适当的信号。进程使用kill函数向进程发送信号软件条件产生信号处理的方式忽略此信号执行该信号...

2018-03-24 15:17:27 169

原创 【linux】信号量!!!

基本概念:临界资源:当一块资源只能够被一个进程访问的时候,这块资源就叫临界资源。 临界区:进程里面访问临界资源的代码叫做临界区。信号量的本质:计数器,计算描述临界资源的多少。信号量集函数:int semget(key_t key,int nsem,int semflg);key:信号量集的名称nsems:信号量集的个数semflg:模式标志若函数调用成功则返回信号集...

2018-03-23 22:18:45 246

原创 【linux】共享内存!!

在system V IPC里面,共享内存是所有进程间通信速度最快的。因为在消息队列里面,在消息传递的时候需要进行两次拷贝(将数据拷贝到队列节点里面,从队列节点里面拷贝到内存)。 基本原理: 注:进程间通讯的本质就是将不同的进程看到同一块地址空间。但是在页表的映射下,不同的进程所占有的实际地址空间是不同的,所以在不同的进程里面数据是相对独立的。但是要是有一块不同进程都可以访问的空间,那么就可...

2018-03-18 22:43:23 242

原创 【linux】页表的简单理解!!!

在使用的计算机内存(4G)上面用户可以使用的内存只有0~3G,3~4G是系统内核使用的区域。 但是在物理内存上面,任何的区域和位置都是可读可写操作的,假如进程直接访问的是物理内存,那么系统就会存在很大的不安全性。页表 页表的存在很好的协调了物理内存和虚拟内存,从而很好的提高系统的安全性。 在一个进程里面使用的内存可能是很少的一部分,但是存在的实际内存确实很大的,所以在使用页表的时候可...

2018-03-12 22:59:10 7386 3

原创 【linux】管道!!!

进程间通讯的方式有:管道消息队列共享内存信号量在这里面管道是最古老的进程间通讯方式,管道又分为匿名管道和命名管道。 匿名管道 局限性:只能够在具有亲缘关系的进程里面使用管道提供流式服务管道的生命周期随进程内核会对管道操作进行互斥和同步管道数据只能单向传递 在匿名管道里面使用到的函数是int pipo(int fd[2]); fd[0]表示的是读端 fd[1]...

2018-03-12 21:42:21 296

原创 【数据结构】二叉搜索树!!!

二叉搜索树的结构类似于二分查找的思想,在二叉树结构里面,将数据的大小分为树的左右子树,从而在搜索的时候类似于二叉搜索。 如图: 当搜索一个二叉搜索树的时候时间复杂度就是O(logN). 构建搜索二叉树:BSTree(int *arr,size_t size) :_root(NULL) { int index = 0; ...

2018-03-08 12:10:37 246

空空如也

空空如也

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

TA关注的人

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