![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作
通信男神杨丽斌
我们不能,不能失去信仰
展开
-
libevent学习笔记
libevent学习笔记学习资料:链接:百度网盘提取码:jqsp包括libevent源码剖析,参考手册另外推荐一个网站:学习网站libevent工作结构libevent是高性能i/o网路库,基于reactor事件驱动模型。下面这张图直观地展示了libevent的工作模式。这是Reactor模式的几个必备组件,事件源(Handle),Reactor框架,事件多路分发器(Event Demultiplexer),事件处理器(Event Handle),具体的事件处理器(Concrete Eve原创 2020-06-14 00:09:46 · 427 阅读 · 0 评论 -
Vim代码高亮补全插件配置总结
Vim代码高亮补全插件配置总结云服务器上没装desktop,迫不得已配置一下vim的代码高亮,看着舒服很多。参考博客:https://www.cnblogs.com/write-hua/p/7697762.html ,代码高亮,括号等补全的基本配置https://zhuanlan.zhihu.com/p/54074345 ,YouComleteMe,代码自动补全插件如果需要安装其他插件,看第二个博客作者的另一篇文章:https://zhuanlan.zhihu.com/p/54071071配置文原创 2020-05-16 17:12:39 · 3340 阅读 · 0 评论 -
半同步/半反应堆线程池实现简单web服务器
半同步/半反应堆线程池实现简单web服务器,解析http请求此篇为《linux高性能服务器编程》第15章线程池实例的学习笔记。半同步/半反应堆线程池模型与进程池模型类似,不过需要考虑使用请求队列,互斥锁来同步线程之间的工作。locker.h首先,locker.h文件实现了NPTL线程的三种同步机制的封装。将其封装成对象,便于管理。#pragma once/* 此文件是对三种线程同步机...原创 2020-05-04 00:21:35 · 600 阅读 · 0 评论 -
LInux下C++多线程编程总结
C++多线程与多进程编程 Linux下的多线程库:NGPT和NPTL,NPTL比linuxThread效率更高,且符合POSIX编程规范,因此通常都是用POSIX下的线程库:pthread标准 NPTL的实现包括三个内容,创建线程和结束线程;读取和设置线程属性;POSIX线程同步的方式:POSIX 信号量,互斥条件和条件变量。 线程模型 线程是程序中完成一个独立任务的完整执...原创 2020-03-08 15:02:21 · 490 阅读 · 0 评论 -
Linux高性能服务器编程学习笔记——简单半同步/半异步进程池的实现
这是游双大大的《linux高性能服务器编程》第15章实现的半同步/半异步的进程池,使用了统一事件源的思想,这是我在阅读完源码之后记下的笔记以及注释,确确实实学习到了很多东西,只有在实战编程中才能记得更牢靠,更熟练。#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#...原创 2020-03-04 18:05:33 · 404 阅读 · 2 评论 -
简易的负载均衡服务器——springsnail
简易的负载均衡服务器——springsnail《linux高性能服务器编程》作者开源的一款简易负载均衡服务器,整个项目代码1400多行,短小精悍,适合初学者学习与模仿。该项目能从所有逻辑服务器中选取负荷最小的一台来处理新的客户连接,并且使用了进程池,有限状态机,高效数据结构和统一事件源等书中提及的思路优化其性能,同时还细致地封装了每个函数和模块,使之更像一个完整的实际服务器项目。参考博客:...原创 2020-05-03 18:03:31 · 1727 阅读 · 3 评论 -
字节跳动2018校招后端方向 [编程题]用户喜好
题目描述:时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 256M,其他语言512M为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k。因为一些特殊的原因,不会出现一个查询的用户...原创 2020-02-23 12:14:50 · 357 阅读 · 1 评论 -
腾讯2020校园招聘-后台&综合-第一次笔试题目解析
[编程题]压缩算法时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 256M,其他语言512M小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为[m|S](m为一个整数且1<=m<=100),例如字符串ABCABCABC将会被压缩为[3|ABC]...原创 2020-02-19 22:21:03 · 1701 阅读 · 0 评论 -
vivo2019秋招笔试题:运矿石(01背包)
题目大意:给定n(n<=100)个数,每个数不超过100,你需要把n个数分成两堆,两堆个数相差最多为1,且两堆的权值和之差最小,问最小的差是多少?思路:01背包,因为每个数不超过100,总和不超过10000,所以我们可以判断每个和空间是否可以到达。dp[j][k]表示选择了j个元素,此时和为k是否可行,这里滚动了一维:本来是前i个元素中选择j个,和为k是否可行,内存不够所以进...原创 2020-02-18 21:41:16 · 1282 阅读 · 0 评论 -
《Linux高性能服务器》——第六章总结
第六章:linux高级i/o函数 网络I/O一直是Linux网络编程中极其重要的一部分,除了前面讲到的send、recv等,socket编程接口还给出了很多高级了I/O函数,这些函数大致分为三类: 用于创建文件描述符的函数,包括pipe,dup/dup2等 用于读写数据的函数,包括readv/writev,sendfile,mmap/munmap,splice和tee ...原创 2020-02-08 20:40:33 · 210 阅读 · 0 评论 -
linux高性能服务器编程——第五章总结
第五章 Linux网络编程基础API第五章主要介绍的是Linux网络编程中最常用的API,也就是系统为我们提供的网络编程接口——Socket。Socket可以看成是一个可读,可写,可控制, 可关闭的文件描述符,同时也是我们控制系统内核的一个接口,它为我们提供了许多功能的函数。书中首先介绍的是Socket的地址API。Socket地址API的内容:1.基本知识:主机字节序与网络字节序...原创 2019-12-30 17:13:59 · 364 阅读 · 0 评论 -
TCP的三次握手与四次挥手
资料参考于1.《Linux高性能服务器编程》2.https://blog.csdn.net/qq_38950316/article/details/81087809基础的协议知识需要牢牢掌握,这样才能抓住问题的本质。一.TCP头部结构要全面了解TCP,首先了解一下TCP的头部结构组成. 两个16位端口号:分别告知主机该报文段来自哪里,以及传给哪个上层协议或者应用程度。...原创 2019-12-21 17:07:54 · 146 阅读 · 0 评论