
计算机基础
Feriii
这个作者很懒,什么都没留下…
展开
-
KMP模式匹配算法next数组值的推导详解
继上一篇关于模式匹配算法的博文,我想在这里在继续详细解说一下next数组和nextval数组值的推导。 文章目录为什么需要next数组 为什么需要next数组 next数组到底是用于什么的?为什么要有next数组? 在这里我们用next数组来记录模式串各个位置的j值变换。 让我们用一个例子来说明上述概念: 假设主串S=abcdefgab 匹配串为T=abcdex 如果我们按照BF模式匹配算法来处理...原创 2019-10-14 20:00:25 · 1911 阅读 · 0 评论 -
基于C实现一个可复用的一维线程池
刚开始调整代码风格,有些地方格式还不是很规范,可参考Linux内核源码的代码风格; 我就在这里不多做解释了,如果对哪一步有疑惑,我们可以在评论区讨论,如果有写的有问题的地方,也希望大家不吝指教。 话不多说,先上代码: 所有的头文件: #include <stddef.h> typedef struct Queue Queue; Queue *Queueinit(void); voi...原创 2019-08-06 10:32:17 · 197 阅读 · 0 评论 -
epoll编程接口(上)
epollAPI是Linux系统专有的。 epollAPI的核心数据结构称作epoll实例,它和一个打开的文件描述符相关。这个文件描述符不是用来做IO操作的,相反,它是内核数据结构的句柄,这些内核数据结构实现的目的有两个: 记录了在进程中声明过的感兴趣的文件描述符列表 维护了处于IO就绪状态的文件描述符列表 epollAPI由以下三个系统调用组成: 创建epoll实例:epoll_create(...原创 2019-08-07 17:11:11 · 254 阅读 · 1 评论 -
进程管理(一)进程与程序&&静态的ps详解
在这个小专题我想要详细的来谈一下进程管理; 要谈进程管理,我们首先应该明确:进程与程序之间的关系其次才是进程管理 什么是进程 在Linux系统中,触发任何一个事件,系统都会将它定义为一个进程,并且给予这个进程一个ID,称为PID,同时根据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。 上面的描述我们乍一看是没有什么问题的,并且也相当容易理解,那么,在Linux系统中,“触发一...原创 2019-09-17 03:09:08 · 329 阅读 · 0 评论 -
Linux 下tty浅析 (一)
tty tty的基本概念 tty(通常用tty来简称各种类型的设备)一词源于Teletypes,原来指的是电传打印机。 电传打印机: 后来有了键盘和显示器,所以叫做终端比较合适。 在早期计算机时代,小型机主机的显卡显示器和键盘就是控制台,这是人控制主机的第一人机接口;同时小型机还需要提供多个终端给多个人接入主机,终端有字符哑终端和图形终端两种,字符哑终端就是tty。 回到现在的pc时代,个人计算...原创 2019-09-18 02:15:11 · 3946 阅读 · 1 评论