低并发编程

大家好,我是闪客,感谢 写代码的篮球球痴 提供的平台让我在这里给大家介绍自己,这是我的公众号卡片。

为了防止大家看到这里就点击了返回按钮,我先放一张图勾引一下您。

42868a0cd06db8cff690acdc960f42bf.gif

这是我公众号做的第一张动图,好多读者当时说被这张图的魔性所吸引。

这个动图,来自于我的一篇文章,《你管这破玩意叫网络》。

刚刚你看到的图,就是这篇文章的开头,从最简单的两台电脑相连开始讲起。

到多台电脑相连的集线器。

b1b92994aa8a4509001bdcd647908f45.gif

到有了点小智慧的交换机。

9a5dfdedd9b36252701ae966206ce436.gif

最终到一个复杂的网络拓扑结构。

5e7e85f28ec7b3040fac02474522e003.gif

就这样用很丝滑的过程,一步一步将整个网络大厦建立起来。

我很喜欢这样的写作方式,并且我认为,不应该对任何复杂的技术产生惧怕的心理,所以我给这样文章的系列,起了个名字,就叫破玩意儿,您可以点开来看看。

当然如果您不方便,我给您简单展示一下。

《你管这破玩意叫 TCP》,里面的滑动窗口讲解,我很喜欢这种丝滑感。

7672f50d9cf393e2bd98eaea36a316d2.gif

《你管这破玩意叫多路复用》,将抽象的 IO 模型赋予了生命。

传统 IO 阻塞在哪儿

b38a1f7bea14b98e499a2dcd70f311c1.gif

多路复用的 select 原理。

dc726c20255ffc492bb0c2f4eae863e9.gif

当然还有 epoll。

80b9ae0bd49aa62ab3b5fb15c41cf5d1.gif

《你管这破玩意叫线程池》,我就是要让你“看”到线程池的原理。

69bdee25f71060f0079da90d165b4350.gif

《你管这破玩意叫哨兵》,故障处理流程这三步,你还担心记不住么?

4af3499ff216732fba23ca06265776e4.gif

如果只是这样,那我只是一个,在动画讲解技术这个领域,比较生动的号而已,这不算什么。

但

是

...

您刚刚看到的《你管这破玩意叫网络》,背后是我极其严谨地用 packet tracer 进行的专业的网络模拟结果。

d005dcf21644c1bcaacfe4d8c44de19a.png

您刚刚看到的《你管这破玩意叫 TCP》,背后是我无数次用 wireshark 抓包,一个字节一个字节对照验证的结果。

c5406601300a933f1a8d8d0047c262b3.png

您刚刚看到的《你管这破玩意叫多路复用》,背后是我用几年时间,研究并自制操作系统,而产生的对内核层无微不至的细节把控,才能在用户层讲得如此透彻。

4d52edd5baba1fabb5089a3a39060e29.png

您刚刚看到的《你管这破玩意叫线程池》,背后是我将整个 Executor 体系研究透彻,几乎吃遍了每一行源码,并尝试自己从简单到复杂地实现一个 ThreadPoolExecutor 的结果。

您刚刚看到的《你管这破玩意叫哨兵》,背后是我将 Redis1.0.0 的全部源码以及 Redis3.0.0 的哨兵部分源码全部研读过后的结果。

所以,每一个你看似很随意、甚至很俏皮的动图背后,都是我对这个技术深入了解,且有着严格的一手资料验证后的结果。

而这些,我都会在对应文章的后记部分,或者专门出一篇文章,来给大家进行扩展,让大家不但学得爽,记得牢,更知道如何继续深入。

后来,我给自己进行了一点小升华。

正文的俏皮而深入的技术讲解方式,我称之为战略上藐视技术。

后记的严肃的复盘和扩展,我称之为战术上重视技术。

这也成为了我公众号的简介,也是我今后写文章、学习技术,所要遵守的核心原则。

最后,再次打扰大家,如果您喜欢这种技术讲解的方式,或者想和我这个热爱技术的大男孩聊聊,欢迎您关注我,我是低并发编程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/news/465051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redhat的Linux产品版本AS/ES/WS的联系与区别

Redhat有两大Linux产品系列,其一是免费的Fedora Core系列主要用于桌面版本,提供了较多新特性的支持。另外一个产品系列是收费的Enterprise系列,这个系列分成:AS/ES/WS等分支,他们都是redhat企业级Linux,简称…

day34进程相关

进程1 什么是进程 进程指的是一个正在进行/运行的程序,进程是用来描述程序执行过程的虚拟概念 进程vs程序 程序:一堆代码 进程:程序的执行的过程 进程的概念起源于操作系统,进程是操作系统最核心的概念,操作系统其它所有的概念都是围绕进程来 操作系统理论: …

总结一些调试的心得,ES7243

这两天在调试一个与语音ADC芯片,也遇到了一些问题,到目前位置也解决了问题,所以想说一下嵌入式调试的一些心得,如果大家在调试设备的时候遇到问题,可以回头来看看这篇文章,可能会得到一些启发。我调试的系统…

电信无线网服务器是什么,怎样使用路由器共享电信天翼无线网络

准备工作:1.我们是四台笔记本共享:型号分别是联想thinkpad,联想非thinkpad,宏基,还有一台老爷dell(奔三 700MHZ 够老爷了吧?装的还是windows2000的系统)2. 路由器一台:腾达路由器,4孔的(TP-lin…

nls_lang.sh: 114: [[: not found

在ubuntu 10.10桌面版上安装oracle官网下载的oracle-xe-universal_10.2.0.1-1.0_i386.deb。 安装时需要加大swap分区的大小到1G以上,可以用这些命令增加dd if/dev/zero of/tmpswap bs1M count200 mkswap /tmpswap swapon /tmpswap 然后配置,在运行/etc/…

web存储机制localStorage和sessionStorage

https://www.cnblogs.com/yaoyuqian/p/7901052.html web存储包括两种:sessionStorage 和 localStorage(都是限定在文档源级别,非同源文档间无法共享) 1.sessionStorage 数据放在服务器上(IE不支持)严格用于…

“元宇宙” 是什么东西?

最近元宇宙的概念很火,所以转发一篇文章给大家看看。每当一个新东西出来的时候,有的人觉得这个是个好东西,也有人嗤之以鼻,觉得这个就是用来割韭菜的。就拿比特币来说,比特币有什么价值?他的价值无非就是操…

分布式系统服务器要求,浅谈分布式系统

分布式系统的由来软件系统的架构一直以来随着技术的发展和市场的需求进行着不断的演进。最初,各行业业务相对比较简单,对系统的要求也不高,软件系统的架构均采用单一应用架构,此时单台服务器即可满足系统的要求。之后,…

OCP Java 自测

一个朋友准备去考OCP Java认证,即原来的SCJP。心血来潮也想测测自己什么水平。找了本McGraw.Hill.OCP.Java.SE.6.Programmer.Practice.Exams,开盘就是两套自测题。14个题目,给了42分钟,按书中说法是过了8个就可以去考了。掐上秒表…

内核该怎么学?Linux进程管理工作原理(代码演示)

前言:Linux内核里大部分都是C语言。建议先看《Linux内核设计与实现(Linux Kernel Development)》,Robert Love,也就是LKD。Linux是一种动态系统,能够适应不断变化的计算需求。Linux计算需求的表现是以进程的通用抽象为中心的。进程可以是短期…

个人博客开通

点此链接 欢迎来访 ---by wolf96转载于:https://www.cnblogs.com/zhanlang96/p/9610864.html

如果访问云服务器上的文件,如果访问云服务器上的文件

如果访问云服务器上的文件 内容精选换一换WinSCP工具可以实现在本地与远程计算机之间安全地复制文件。与使用FTP上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器,无需在服务器端做任何配置。通常本地Windows计算机将文件上传至Linux服务…

solaris下用户不能正常登录CDE界面的解决办法

使用过solaris系统的人,有时可能会碰到以普通用户不能正常登录CDE界面的问题,或者输入用户名和口令后,又回到登录框的现象,针对这些问题,建议按下面的步骤进行操作: 1.无法正常登录可能是由于CDE的不正确设…

int *p = *******a是什么鬼?

这是在朋友圈里面看到有人调侃的一个C语言题目,这里拿出来分享给大家看看。1我们知道int a 120; int* p &a;这样我们可以给指针p赋值。指针很多初学者学习的时候会觉得一脸懵逼,我们只要明白几个关键的东西,会让我们对指针理解更深入一…

[GO]匿名字段

package mainimport ("fmt" )type Person struct {name stringsex byteage int }type Student struct {Person //只有名字,没有字段,这里student相当于继承了person的所有字段,就有点像是继承了id intaddr string }func main() …

你见过的MCU最高GPIO翻转频率是多少?

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率。上一篇文章 《聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法》,痞子衡从原理上介绍了 i.MXRT1xxx 系列里普通 GPIO 和 …

django中的admin组件之自定义组件的增删改查的完善

昨天我们将自定义列放在类我们自定义的Bookconfig配置类内,但是这样就写死了,因为当我们访问publish表的时候应该也有这样的自定义列,所以我们应该将我们的自定义列放在默认的配置表里面。应该怎么做? 当我们的自定义列挪到默认配…

“制造商和技术支持商”

1.用优化工具。 2.system32中的OEMINFO.ini和OEMLOGO.bmp文件 转载于:https://blog.51cto.com/honglingjin2011/537680

青春是一列不再回头的火车…

高中那年,我表姐对我说:“不要老想着出去打工赚钱,好好读书,将来肯定有用,也不要想着现在日子长得很,等你像我这样结婚生子后,一天一眨眼就过完了。”当时听了没有多大感觉,如今深以…

Android Service学习之AIDL, Parcelable和远程服务

AIDL的作用由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分…