
后端服务器开发
Daback01
这个作者很懒,什么都没留下…
展开
-
select/poll/epoll简单实例学习
多路复用的简单实例源码地址:https://github.com/Fang-create/select-epoll-poll.git原创 2020-08-08 01:01:45 · 208 阅读 · 0 评论 -
Linux(服务器编程4.3):----项目应用层协议设计之protobuf总结
1,Protobuf简介protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持php、java、c++、python等语言环境。通过将这些类包含在项目中,可以很轻松的调用相关方法来完成业务消息的序列化与反序列化工作。protobuf在google中是原创 2020-07-19 01:05:48 · 498 阅读 · 0 评论 -
Linux(服务器编程3.3):---内存池设计(仿Nginx内存池设计c实现)
一、线程池的引入服务器在高并发下,有大量的客户端连接时,服务器要解析客户端发来的数据,就需要频繁对内存进行申请和释放,使得服务器性能的降低和内存的碎片化增多。开源的比较好用的内存池有:1,tcmalloc:MySQL使用的 ;2,jemalloc:Tomcat使用的 ;3,Nginx实现的内存池。这里是仿照nginx实现的内存池;二、内存池的设计我们该如何实现内存池?内存池是一个组件,做出来以后,提供API给别人使用,在此提一个组件实现的通用方法:1,宏定义来处理原创 2020-07-14 00:00:03 · 517 阅读 · 0 评论 -
Linux(服务器编程7.1):---git的学习
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。学到了这一节,有必要做一下总结。对于github新手,未搭建好环境的先可以参考该博客搭建:github新手使用指南.一、git的原理Workspace: 工作区,就是你平时存放项目代码的地方Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息-----git add后存储地方Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版原创 2020-07-09 22:33:54 · 239 阅读 · 0 评论 -
Linux(服务器编程3.1):---高并发线程池的设计(c实现pthread_pool)
一、设计线程池的优点、作用线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。为什么要用线程池:1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务原创 2020-07-05 23:49:27 · 387 阅读 · 0 评论