上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 65 下一页
摘要: Libevent提供了一个基于缓冲IO的抽象。这个抽象就是bufferevent。Bufferevent提供了自动填充和输出的缓冲区。用户不会直接和IO打交道,而是从输入缓冲区读,在输出缓冲区写。一旦用bufferevent_socket_new初始化,bufferevent结构体可以重复使用bufferevent_enable()和bufferevent_disable()。你需要用bufferevent_read()和bufferevent_write()进行读写,而不是直接用socket进行读写。当读被启用,bufferevent会试图从文件描述符读数据并调用回调函数。Thewritec 阅读全文
posted @ 2011-10-10 09:32 Lunaa 阅读(94) 评论(0) 推荐(0) 编辑
摘要: Libevent是一个基于事件通知机制的网络库,用来开发可扩展性的网络服务器。Libevent提供了一种机制,可以在指定事件发生于某文件描述符或者一个超时事件到达的时候执行一个回调函数。进一步,Libevent也支持信号触发的回调。Libevent用来替换目前的基于事件驱动的网络服务器中的事件循环。应用程序只需要调用event_dispatch(),然后动态增加或移除事件,而不用修改事件循环。目前,Libevent支持/dev/poll,kqueue(2),select(2),poll(2),epoll(4),andevports。内部事件机制完全独立于暴露的外部接口,因此当Libevent需 阅读全文
posted @ 2011-10-09 21:22 Lunaa 阅读(110) 评论(0) 推荐(0) 编辑
摘要: Libevent是一个基于事件通知机制的网络库,用来开发可扩展性的网络服务器。Libevent提供了一种机制,可以在指定事件发生于某文件描述符或者一个超时事件到达的时候执行一个回调函数。进一步,Libevent也支持信号触发的回调。Libevent用来替换目前的基于事件驱动的网络服务器中的事件循环。应用程序只需要调用event_dispatch(),然后动态增加或移除事件,而不用修改事件循环。目前,Libevent支持/dev/poll,kqueue(2),select(2),poll(2),epoll(4),andevports。内部事件机制完全独立于暴露的外部接口,因此当Libevent需 阅读全文
posted @ 2011-10-09 21:22 Lunaa 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1 引言对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/Linux系统是真正实现多任务操作的系统,可以说,不使用多进程编程,就不能算是真正的Linux环境下编程。多线程程序设计的概念早在六十年代就被提出,但直到八十年代中期,Unix系统中才引入多线程机制,如今,由于自身的 阅读全文
posted @ 2011-10-09 20:39 Lunaa 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1 引言对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/Linux系统是真正实现多任务操作的系统,可以说,不使用多进程编程,就不能算是真正的Linux环境下编程。多线程程序设计的概念早在六十年代就被提出,但直到八十年代中期,Unix系统中才引入多线程机制,如今,由于自身的 阅读全文
posted @ 2011-10-09 20:39 Lunaa 阅读(148) 评论(0) 推荐(0) 编辑
摘要: fork source exec区别差异 fork 使用 fork 方式运行 script 时, 就是让 shell(parent process) 产生一个 child process 去执行该 script, 当 child process 结束后, 会返回 parent process, 但 parent process 的环境是不会因 child process 的改变而改变的. source 使用 source 方式运行 script 时, 就是让 script 在当前 process 内执行, 而不 是产生一个 child process 来执行. 由于所有执行结果均于当前 pro 阅读全文
posted @ 2011-10-09 20:36 Lunaa 阅读(176) 评论(0) 推荐(0) 编辑
摘要: fork source exec区别差异 fork 使用 fork 方式运行 script 时, 就是让 shell(parent process) 产生一个 child process 去执行该 script, 当 child process 结束后, 会返回 parent process, 但 parent process 的环境是不会因 child process 的改变而改变的. source 使用 source 方式运行 script 时, 就是让 script 在当前 process 内执行, 而不 是产生一个 child process 来执行. 由于所有执行结果均于当前 pro 阅读全文
posted @ 2011-10-09 20:36 Lunaa 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:#include int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg, ..., char *const envp[]);int execv(const char *path, char *const argv[]);int execv 阅读全文
posted @ 2011-10-09 20:33 Lunaa 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:#include int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg, ..., char *const envp[]);int execv(const char *path, char *const argv[]);int execv 阅读全文
posted @ 2011-10-09 20:33 Lunaa 阅读(168) 评论(0) 推荐(0) 编辑
摘要: FD_CLOEXEC用来设置文件的close-on-exec状态标准。在exec()调用后,close-on-exec标志为0的情况,此文件不被关闭。非零则在exec()后被关闭。默认close-on-exec状态为0,需要通过FD_CLOEXEC设置。#include #include #include extern char **environ;int main(int argc,char *argv[]){int flag;int ret;flag = fcntl(1,F_GETFD,0);printf("close-on-exec is %d\n",flag);fc 阅读全文
posted @ 2011-10-09 20:29 Lunaa 阅读(148) 评论(0) 推荐(0) 编辑
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 65 下一页