高并发高性能服务器
叨陪鲤
哈
展开
-
简单内存池的C实现
1. 序言对于程序开发人员来说,会经常听到这种“池”的概念,例如“进程池”,“线程池”,“内存池”等,虽然很多时没有吃过肉,但是总是见到它跑。上周由于需要性能调优,因此就尝试使用内存池的方式来分配空间,从而提供效率的问题。网上有各种很优秀的通用的内存池的实现代码:可以调整内存池大小,支持多种大小的内存池,支持调整分配空间大小等等,这种实现是比较完整的实现,但是它针对整个工程或者项目而言是很好的选择。如果我们的需求很是单一,只是想提高某一特定的性能,需要的空间也是固定大小,那么我们就没有必要使用那么优秀复原创 2020-07-19 12:37:39 · 4558 阅读 · 0 评论 -
经典多级时间轮定时器(C语言版)
经典多级时间轮定时器(C语言版)1. 序言最近一直在找时间轮的C语言实现代码,发现很多都是Java或者c++实现的。而我对其他语言不熟悉,看不太懂。关于C实现的,让我如沐春风的实现没找到,github上也只找打一个135星的项目,它的具体实现还没来得及看。后来经过多方搜索,找到了两个比较类似的代码,博主都称参考Linux源码中的实现,但是我没有找到对应的代码,个人感觉他们代码实现的很好,经过整理后再次分享出来供以后学习(反正我自己写不出来,我尝试写了一个简单时间轮的代码,是在不敢直视)。言归正传2原创 2020-06-21 12:40:45 · 9272 阅读 · 5 评论 -
epoll经典代码示例
1. epoll原理原理性的知识不再另做说明,我在这里附上收藏整理的两篇经典文章:select与epoll的本质关系。select、poll、epoll之间的区别。2. epoll服务器端经典示例2.1 逻辑框架2.2 代码#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <asse.原创 2020-06-17 23:51:55 · 8982 阅读 · 6 评论 -
知乎大佬图文并茂的epoll讲解,看不懂的去砍他
select、poll、epoll的文章很多,自己也看过不少经典好文。不过第一次看到讲的如此通俗易懂、又图文并茂的。因此拿来分享下,供后续翻看学习。原文链接:https://zhuanlan.zhihu.com/p/63179839下面开始划重点:因为epoll的重要性,不少游戏公司(如ssjj小游戏)在招聘服务端同学时,可能会问及epoll相关的问题。比如epoll和select的区别是什么?epoll高效率的原因是什么?如果只靠背诵,显然算不上深刻的理解。网上虽然也有不少讲解epol转载 2020-06-17 00:42:17 · 10118 阅读 · 2 评论 -
定时器原理
1. 定时器介绍程序里的定时器主要实现的功能是在未来的某个时间点执行相应的逻辑。在定时器模型中,一般有如下几个定义。interval:间隔时间,即定时器需要在interval时间后执行StartTimer:添加一个定时器任务StopTimer:结束一个定时器任务PerTickBookkeeping: 检查定时器系统中,是否有定时器实例已经到期,相当于定义了最小时间粒度。常见的实现方法有如下几种:链表排序链表最小堆时间轮接下来我们一起看下这些方法的具体实现原理。..转载 2020-06-16 09:02:03 · 5741 阅读 · 0 评论 -
github上使用C语言实现的线程池
github项目链接:GitHub线程池项目项目代码:/* * Copyright (c) 2016, Mathias Brossard <mathias@brossard.org>. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the follow原创 2020-06-14 22:19:22 · 4804 阅读 · 1 评论 -
C语言实现线程池功能
1. 线程池基本原理2. 线程池C语言实现2.1 线程池的数据结构#include <stdio.h>#include <pthread.h>#include <stdlib.h>#include <string.h>#include <signal.h>#include <errno.h>#include <unistd.h>typedef struct { void *(*function原创 2020-06-14 22:37:19 · 5827 阅读 · 5 评论 -
从新手到架构师,一篇就够:从100到1000万高并发的架构演进之路
1、引言本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的14次演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。文章最后汇总了一些架构设计的原则。2、关于作者https://zhuanlan.zhihu.com/p/740827683、相关文章《新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践》 《腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面》 《一篇读懂分布式架构下的负载均衡技术:分转载 2020-06-12 23:03:38 · 5285 阅读 · 1 评论