![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
实训
文章平均质量分 69
ICUM_Q
这个作者很懒,什么都没留下…
展开
-
Reactor的事件处理机制
1 Reactor的事件处理机制 首先回想一下普通函数调用的机制:程序调用某函数?函数执行,程序等待?函数将结果和控制权返回给程序?程序继续处理。 Reactor释义“反应堆”,是一种事件驱动机制。和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完成处理,而是恰恰相反,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并注册到Reactor上,如果相应的时间发生原创 2012-07-04 11:15:53 · 829 阅读 · 0 评论 -
学习多线程
#include #include /* 打印 x 到错误输出。没有使用参数。不返回数据。*/ void* print_xs (void* unused) { while (1) fputc ('x', stderr); return NULL; } /* 主程序 */ int main () { pthread_t thread_id; /* 传教新线程。新线程将执行 print_xs 函数原创 2012-06-28 09:48:17 · 3121 阅读 · 0 评论 -
学习笔记
关于nss和pam的使用:http://hi.baidu.com/magic_wz/blog/item/b76024449c8d5924879473e1.html libnss ato里的一些变量:文件描述符(fd) 函数名称: new_conf(){} // free_conf(ato_conf_t *conf){}// read_conf(){}// get_static(char原创 2012-06-27 16:35:49 · 585 阅读 · 0 评论 -
任务队列线程函数,用互斥体保护
#include #include struct job { /* 维护链表结构用的成员。*/ struct job* next; /* 其它成员,用于描述任务。*/ }; /* 等待执行的任务队列。*/ struct job* job_queue; /* 保护任务队列的互斥体。*/ pthread_mutex_t job_queue_mutex = PTHREAD_MUTEX_INITIAL原创 2012-06-29 11:04:17 · 629 阅读 · 0 评论