1. evtimer_new(base, callback, NULL)用来做定时器,即当达到一定时间后调用回调函数callback,用evtimer_add激活定时器。
2. bufferevent_write(struct bufferevent *bufev, const void *data, size_t size)把数据写入一个bufferevent buffer中,它被用来将数据写入文件描述符,当数据变得能够写时,会自动写入到描述符中。...
分类:
其他好文 时间:
2014-10-28 20:04:59
阅读次数:
186
由于poll()和select()的局限,2.6内核引入了event poll(epoll)机制。虽然稍微复杂,但是epoll解决了它们共有的基本性能问题,并增加了一些新的特性。 poll()和select()每次调用都需要所有被监听的文件描述符。内核必须遍历所有被监视的文件描述符。当这个表变得很大...
分类:
其他好文 时间:
2014-10-28 19:42:22
阅读次数:
175
一、select
使用的集合的方式,最多只能监听1024个文件描述符,内部使用位操作,将相应的位置为1或者置为0,需要将可读、可写、异常的三类事件分开来用,内部使用轮询的方法,每次返回都需要将所有的套接字从内核到用户空间之间进行拷贝。
二、poll
比select稍微好一点,也是在指定时间内轮询一定数量的文件描述符,以测试其中是否有就绪。
三、epoll_wai...
分类:
其他好文 时间:
2014-10-26 23:03:38
阅读次数:
353
socket在创建的时候默认是阻塞的。我们可以通过socket系统调用的第二个参数传递SOCK_NONBLOCK标志,或者通过fcntl系统调用的F_SETFL命令,将其设置为非阻塞的。阻塞和非阻塞的概念能应用与所有文件描述符,不仅仅是socket,我们称阻塞的文件描述符为阻塞I/O,非阻塞的文件描述符为非阻塞I/O.
针对阻塞I/O执行的系统调用可能因为无法立即完成而被操作系...
分类:
其他好文 时间:
2014-10-26 10:23:21
阅读次数:
179
15,守护进程概念:守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程的特点:守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从...
分类:
系统相关 时间:
2014-10-26 09:08:28
阅读次数:
245
线程概念:线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),进程的所有信息对该进程的所有线程是共享的,包括程序文本,程序的全部内存,堆,栈和文件描述符。线程标识:进程ID在整个系统中是唯一的,用pid_t数据类型表示,线程ID只在它所属的进程环境中有效,...
分类:
编程语言 时间:
2014-10-26 09:07:18
阅读次数:
245
socket定义
在Linux中的网络编程是通过socket接口来进行的。人们常说的socket是一种特殊的I/O接口,他也是一个文件描述符。socket是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信。
每一个socket都用一个半相关描述{协议,本地地址,端口号}来表示;一个完整的套接字则用一个相关描述{协议、本地地址...
分类:
其他好文 时间:
2014-10-26 00:29:51
阅读次数:
204
又是一道腾讯2014年的面试题:A,栈 B,数据段 C,寄存器组 D,文件描述符这是解释以及相对应的扩展知识:线程的共性如下:线程共享的环境包括:进程代码段、 进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、 进程打开的文件描述符、 ...
分类:
编程语言 时间:
2014-10-21 16:58:57
阅读次数:
146
文件描述符:进程通过文件描述符来操作文件,文件描述符可以通过open, openat, creat系统调用返回;shell和其他应用默认打开标准输入(STDIN_FILENO),标准输出(STDOUT_FILENO),标准错误(STDERR_FILENO)三个文件描述符。open和openat函数:...
分类:
其他好文 时间:
2014-10-20 22:49:24
阅读次数:
279
dup,dup2目标复制一个文件描述符头文件#include 函数原型newfd = dup(oldfd);newfd = dup2(oldfdm, newfd);参数oldfd需要复制的文件描述符newfd复制oldfd后得到的文件描述符返回值-1 发生错误newfd 新的文件描述符p...
分类:
其他好文 时间:
2014-10-20 19:17:45
阅读次数:
237