libevent API
可以指定一个函数回调,当在文件描述符上产生了特定操作或者有超时动作时,这个函数回调会被调用,不仅如此,libevent还支持的事件类型包括信号量和常规超时。libevent的意图在于替代在事件驱动的网络服务中的事件循环,一个应用在使用libevent时之需要调用event_...
分类:
其他好文 时间:
2014-06-29 07:44:08
阅读次数:
257
线程共享的内容包括:进程代码段进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和 进程用户ID与进程组ID线程独有的内容包括:线程ID寄存器组的值线程的堆栈错误返回码线程的信号屏蔽码
分类:
编程语言 时间:
2014-06-26 23:09:20
阅读次数:
234
GCD介绍(一): 基本概念和Dispatch QueueGCD提供很多超越传统多线程编程的优势:易用:GCD比之thread跟简单易用。由于GCD基于work unit而非像thread那样基于运算,所以GCD可以控制诸如等待任务结束、监视文件描述符、周期执行代码以及工作挂起等任务。基于block...
分类:
其他好文 时间:
2014-06-22 23:58:08
阅读次数:
432
执行网络I/O,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型。
#include
int socket(int family, int type, int protocol);
/*返回值:若成功则为非负描述符,若出错则为-1*/
socket函数成功时返回一个小的非负整数值,它与文件描述符类似,把它称为套接字描述符,简称sockfd。family参数指明协议...
分类:
其他好文 时间:
2014-06-22 15:40:10
阅读次数:
301
dup与dup2函数用于复制现存的文件描述符。原型:#include int dup(int fd);int dup2(int fd, int fd2);两函数若成功则返回新描述符,出错则返回-1。dup函数返回一个新的描述符,并且这个新描述符一定是可用描述符中数值最小的一个。dup2函数使用fd2...
分类:
其他好文 时间:
2014-06-19 09:03:12
阅读次数:
171
Linux的通信方式主要有分类有下面几种:
-匿名管道和FIFO有名管道
-消息队列,信号量和共享存储
-套接字
.对于套接字的进程通信,我就留在套接字的文章中再写了.
一.管道
管道是最古老的进程通信机制了.提供进程间的单向通信.
1.创建管道
int pipe(int fdes[2]);
实际上管道通过参数返回读和写的两个文件描述符.相当于是打开了两个文件吧.但是这个文...
分类:
系统相关 时间:
2014-06-17 19:07:02
阅读次数:
339
昨天解了个bug,关于文件描述符的,这种问题很久之前也遇到过,这次再犯真的不该。
问题是这样的。
fopen()打开一个文件,然后做了一些操作,然后函数执行结束。。。没有调用fclose()导致了,再执行此函数时,系统提示,文件描述符分配完毕。
分析了下:
根据以前的知识储备,
1.linux打开文件描述符的最大个数为1024,根据这次发现,
2.这是针对于单独进程的,
...
分类:
系统相关 时间:
2014-06-14 09:14:13
阅读次数:
354
继续上文CentOS6.5
Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务、磁盘操作、文件描述符、内核调整等。1、关闭系统中不需要的服务###Centos
minimal 本来就是最小安装,这里我也就不提....
分类:
其他好文 时间:
2014-06-10 12:33:04
阅读次数:
234
管道大致分为两种:
1.匿名管道:这个一般只能用于父进程创建管道传递给子进程,可以父子进程通信
2.有名管道:这种管道存在于文件系统中,所以任意进程都能找到,都可以通过它来通信
API:
#include
int pipe(int fds[2])
fds[0] 是读取文件描述符,也就是管道出口
fds[1] 是写文件描述符,也就是管道入口
创建一个匿名管道
成功返回0,...
分类:
其他好文 时间:
2014-06-04 13:41:39
阅读次数:
365
1. 线程基础
概念
1). 线程全称控制线程
2). 多线程的优势:
a) 比进程方便,可以共享相同的内存空间及文件描述符
b) 可以用于多个任务,而这些任务如果用单进程来实现是串行,在多线程里面由于CPU的调度可以实现穿插执行
c) 用于交互程序,将用户输入输出与其他部分分开,优化性能
...
分类:
编程语言 时间:
2014-05-31 21:44:34
阅读次数:
417