其他
当应用程序向libevent 注册一个事件后,libevent 内部是怎么样进行处理的呢?下面的
图就给出了这一基本流程。
1) 首先应用程序准备并初始化event,设置好事件类型和回调函数;这对应于event_set()和event_base_set()两个函数;
2) 向libevent 添加该事件event。对于定时事件,libevent 使用一个小根堆管理,key为超
时时间;...
光有栈对于面向过程的程序设计还远远不够,因为站上的数据在函数返回的时候就会被释放掉,所以无法将数据传递到函数外部.而全局变量没办法动态的产生,只能在编译的时候定义,缺乏表现力.在这种情况下,堆是唯一的选择.
堆是一块巨大的内存空间,常常占据整个虚拟空间的绝大部分.在这片空间里,程序可以请求一块连续内存,并自由使用,这块内存在主动释放前都一直有效.
通过malloc可以为程序申请分配堆空...
linux下删除所有.svn目录方法为
find . -type d -name ".svn"|xargs rm -rf
或者
find . -type d -iname ".svn" -exec rm -rf {} \;...
Libevent的源代码虽然都在一层文件夹下面,但是其代码分类还是相当清晰的,主要可分为
头文件、内部使用的头文件、辅助功能函数、日志、libevent 框架、对系统I/O多路复用机
制的封装、信号管理、定时事件管理、缓冲区管理、基本数据结构和基于libevent的两个实
用库等几个部分,有些部分可能就是一个源文件。
源代码中的test部分就不在我们关注的范畴了。
1)头文件
主要就是...
原来写过一篇关于约瑟夫问题的链表实现解法 ,刷九度题到http://ac.jobdu.com/problem.php?pid=1356 时,再次遇到这个问题,记下用递归思想解决约瑟夫问题的方法:
初始情况: 0, 1, 2 ......n-2, n-1 (共n个人)
第一个人(编号一定是(m-1)%n,设之为(k-1) ,读者可以分m=n的情况分别试下,就可以得出结论) 出列之后,剩下的n-1...
无权无向图
寻找这样的路径:从起点到终点所经过的边最少
基于广度优先算法实现
与图相关的例子大都是如下:
代码如下:
package com.collonn.algorithm.grf;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
/**
* 无权无向图...
对事件处理流程有了高层的认识后,本节将详细介绍libevent 的核心结构event,以及
libevent对event的管理。
1 libevent的核心-event
Libevent是基于事件驱动(event-driven)的,从名字也可以看到event是整个库的核心。
event就是Reactor框架中的事件处理程序组件;它提供了函数接口,供Reactor在事件发生
时调用,以执...
一、简介
该类表示针对面向流的连接套接字的可选择通道。
类声明:public abstract class SocketChannel extends AbstractSelectableChannel implements ByteChannel, ScatteringByteChannel, GatheringByteChannel
类层次:
套接字通道不是连接网络套接字的完整抽...
我所知的opencv中分割函数:watershed(只是看看效果,不能返回每类pixel类属),cvsegmentImage,cvPyrSegmentation(返回pixel类属)Segment函数:#include
#include
#include
#include
#include
#include
#include
#include
#include
#include...