Linux下的非阻塞IO库epoll

今天看到一篇文章,对于epoll讲解的非常生动清晰,转载收藏一下,原文请点击here。生活中的一个例子假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面。如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直守候在A号楼门口等待朋友的到来,在这段时间里你不能做别的事情,不难知道,这种方式的效率是低下的。进一步解释se...

关于exit、_EXIT和_exit

exit、_EXIT和_exit三个函数都是终止一个进程,但是三者却有一些差异。网上对于它们的介绍也是特别的多,这里我就不重复造轮子了,只是从我的角度和观点去归纳性的描述一些这三者的异同。exit和_EXIT都是标准C提供的库函数,定义在<stdlib.h>中;而_exit并不是标准C的库函数,它是Posix扩展定义的。在类UNIX系统中,一般_exit是系统调用,而exit和_...

C的字符串分割函数strtok

对于一些高级语言而言,使用某个字符分割字符串是很基础的功能。而对于编程语言中的瑞士军刀C,该功能自然也是有的,我们使用标准C提供的strtok函数即可实现这个功能。这个函数在使用上面看上去有些怪,我们从一个例子开始吧。一,strtok基本使用#include <stdio.h> #include <string.h> int main() { char *t...

Lex和Yacc——Lex学习

一,什么是Lex?引用度娘上面的介绍:Lex是LEXical compiler的缩写,是Unix环境下非常著名的工具,主要功能是生成一个词法分析器(scanner)的C源码,描述规则采用正则表达式(regular expression)。OK,我们先来介绍Lex中的正则表达式。二,Lex中的正则表达式 字符 含义 . 匹配任意字符,除了 n。一般作为最后一条翻译规则。 - 用...

Linux进程间通信

我们知道多进程的程序会比多线程的程序在稳定性上面好一些,因为资源是隔离的。但这也是的多进程程序在相互通信方面比多线程复杂一些,但Linux系统还是提供了很多进程通信的方式,统称为IPC(InterProcess Communication).常见的IPC有管道、FIFO、消息队列、信号量、共享内存以及套接字等。一,管道(PIPE)管道(有时也称为无名管道,和后面要介绍的FIFO相对)是UNI...

Linux进程控制之wait类函数

我们已经知道,fork出来的子进程和父进程谁先运行是随机的,那我们如果控制呢?可以使用wait类函数。#include <sys/wait.h> pid_t wait(int *stat_loc); pid_t waitpid(pid_t pid, int *stat_loc, int options); 若成功则返回进程pid,0,若出错返回-1进程调用上面的两个函数可能会...

Linux进程控制之exec族函数

exec族函数是Linux进程控制原语中非常重要的一部分,往往和fork/vfork配合使用。当一个进程调用一种exec函数时,该进程执行的程序完全替换未新程序,而新程序则从其main函数开始执行(原程序后续部分不会再执行了)。但是调用exec并不创建新进程(不同于fork和vfork),所以调用exec前后进程ID并未改变。exec只是用一个全新的程序替换了当前进程的正文、数据、堆和栈。下...

Linux进程控制之fork和vfork

一,fork和vfork#include <sys/types.h> #include <unistd.h> pid_t fork(void); pid_t vfork(void);fork用于创建一个进程,该函数调用一次,返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值是新子进程的进程号。出错时,返回-1。子进程是父进程的一个副本——子进程获得父进程...
站点总览
  • 文章总数:290篇
  • 分类总数:11个
  • 评论总数:462条
  • 运行时间:7年16天
最近评论
z前面有一点点小疑问~默认1s的是refresh~
Michael翔哈哈哈,希望将来有机会学习学习你的「养娃体系1.0」和「理财体系1.0」
蟋蟀只是在本地测试,我生成的镜像名称叫flink:1.12.0-scala_2.12-java8,...
蟋蟀application模式下提交任务成功后,之前起client作用的在集群端运行的应用实例会一...
蟋蟀我在mac机器上安装好了minikube,并按照上述步骤成功构建了flink 1.12版本的d...
刘小新感谢作者的无私奉献,收获很大∠( ᐛ 」∠)_
刘小新给作者的辛苦劳动点个赞!
刘小新作者Lucene系列讲的真是太好了,佩服!!!
Peter大佬,能否加个友链呢?向您学习的
Michael翔虽然看似基础,但是深入研究并不简单,赞~PS:最后的「##总结」,语法应该少了个空格啦~