四时宝库

程序员的知识宝库

高性能服务器程序框架 - 有限状态机

有限状态机是逻辑单元内部的一种高效编程方法。

有的应用层协议头部包含数据包类型字段,每种类型可以映射为逻辑单元的一种执行状态,服务器可以根据它来编写相应的处理逻辑,代码如下:


STATE_MACHINE(Packahe _pack)
{
    PackageType _type = _pack.GetType();
    switch (_type)
    {
    case type_A:
        process_package_A(_pack);
        break;
    case type_B:
        process_package_B(_pack);
        break;    
    default:
        break;
    }
}

C语言为什么比其他语言更依赖库?(c语言为什么用的人很少)


学过C语言的童鞋都知道,正常的C程序文件后缀是.c,那么后缀为.h的是什么文件?其实这是C语言也包括C++,共同使用的头文件。库就是头文件(head file)的集合。

技术博客:深入理解C语言断言的使用

目录

  1. 引言
  2. 什么是断言
  3. 断言的作用

Linux网络编程“惊群”问题总结(linux惊群效应详解)

1、前言

数据结构-图(图的基本实现C++)(数据结构关于图的算法)


?一、图的概念

图是一种比较复杂的非线性数据结构

图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

图区分有向图和无向图

1、无向图(Undirected graphs)

数据结构-栈-手打代码(educoder数据结构栈)

前言

  • 数据结构是计算机学科的基础,而类链表结构又是数据结构最基本的结构,包括List、stack、queue等;
  • 然而,大部分同学甚至连一个可用的List都写不出来;
  • 故,下面手打了一份栈实现,供参考;

Linux网络编程相关高级I/O函数 - 用于创建文件描述符的函数

用于创建文件描述符的函数

  • pipe函数

pipe函数可用于创建一个管道,以实现进程间通信,pipe函数定义如下:

数据结构-线性表之顺序表(数据结构线性表顺序存储)

线性表

内存池的原理及实现(内存池的原理及实现过程)

在软件开发中,有些对象使用非常频繁,那么我们可以预先在堆中实例化一些对象,我们把维护这些对象的结构叫“内存池”。在需要用的时候,直接从内存池中拿,而不用重新实例化,在要销毁的时候,不是直接free/delete,而是返还给内存池。

把那些常用的对象存在内存池中,就不用频繁的分配/回收内存,可以相对减少内存碎片,更重要的是实例化这样的对象更快,回收也更快。当内存池中的对象不够用的时候就扩容。

代码实现顺序表的操作函数(代码实现顺序表的操作函数是)

[html] view plain copy

  1. #pragma once
  2. #include <assert.h>
  3. #include <stdio.h>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接