- 博客(6)
- 收藏
- 关注
原创 进程通信linux
一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。D、资源共享:多个进程之间共享同样的资源。为了作
2014-08-27 16:06:22 1093
原创 游戏服务器之网络收发线程处理详细分析
业务网络收发线程的循环部分,处理网络数据的接收和发送。设计上:(1)先检查所有连接是否处于正常状态。(2)网络的处理是读优先的,有读才检查写,写的检查是一段时间检查一次(目前是50ms)。实现上通过两个epoll描述符来处理。第一个epoll描述符监听所有连接的读事件,并处理网络数据的接收。第二个epoll描述符监听所有连接的写事件(顺带会检查读事件),并处理网络数据的
2014-08-17 14:48:05 2055
原创 Bresenham 画直线算法
画线的算法不少,但要作到高速、简单并不容易。斜率相乘法是最简单的方法之一,但计算每个点均要花费不少时间用于乘、除法运算;下面介绍的是Bresenham's高效画线算法,对每个点的坐标计算只要加、减法就能完成。简化算法用伪Pascal语言描述如下:procedure DrawLine(x1, y1, x2, y2: Integer);varx, y, DeltaX, DeltaY,
2014-08-16 14:32:22 29100 8
原创 树堆结构
一棵treap是一棵修改了结点顺序的二叉查找树,如图,显示一个例子,通常树内的每个结点x都有一个关键字值key[x],另外,还要为结点分配priority[x],它是一个独立选取的随机数。假设所有的优先级是不同的,所有的关键字也是不同的。treap的结点排列成让关键字遵循二叉查找树性质,并且优先级遵循最小堆顺序性质:1.如果v是u的左孩子,则key[v] 2.如果v是u的右孩子,则ke
2014-08-04 08:12:22 799
原创 可并堆与二叉堆
•定义:–二叉堆满足堆特性:父结点的键值总是大于或等于(小于或等于)任何一个子结点的键值,且每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)–完全二叉树,结点i的儿子是2*i和2*i+1,父亲是i/2;–当且仅当它满足以下两个条件之一时,才能称之为堆•(1)a[i]i*2]且a[i]i*2+1](即小根堆,结点的值不大于两个儿子的值)•(2)a[i]>=a[i*
2014-08-04 06:29:23 4027
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人