Linux下的非阻塞IO库epoll

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

- 阅读全文 -

关于exit、_EXIT和_exit

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

- 阅读全文 -

C的字符串分割函数strtok

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

- 阅读全文 -

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相对)是UNIX/L

- 阅读全文 -

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只是用一个全新的程序替换了当前进程的正文、数据、堆和栈。下面是e

- 阅读全文 -

Linux进程控制之fork和vfork

一,fork和vfork#include <sys/types.h> #include <unistd.h> pid_t fork(void); pid_t vfork(void);fork用于创建一个进程,该函数调用一次,返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值是新子进程的进程号。出错时,返回-1。子进程是父进程的一个副本——子进程获得父进程的数据

- 阅读全文 -

微信公众号

随机文章

最近回复

  • repostone: 非技术的路过。
  • NYC: 确认一下你配置的调度策略是Fair,而不是Capacity,不要...
  • NYC: 这个没问题,我文章里面说的是策略,配置的时候是通过CDH配置的。...
  • 一方: 但是我的action队列抢占了资源,导致action不能并行,难...
  • NYC: 是的,不管是哪个队列,队列内部只要有资源够action/lanu...
  • 一方: 老铁,我想问下,你分配好队列,然后固定了lancher队列的am...
  • 一方: https://blog.csdn.net/bigdatapri...
  • NYC: 1,我的解决方案是不可能完全杜绝死锁的,我目前也没有发现比较好的...
  • 一方: 老铁你好!看了下你的解决方案,感觉还是无法解决死锁的问题啊,假如...
  • luke: **感谢分享**

分类

标签