先说点题外话,最近在开发公司级的网关,虽然没有明说,但是对于我们大家来说Nginx就是我们对标的对象。但是说实话,想要对标Nginx的性能,用Go开发基本上是不可能的,人家没...
先说点题外话,最近在开发公司级的网关,虽然没有明说,但是对于我们大家来说Nginx就是我们对标的对象。但是说实话,想要对标Nginx的性能,用Go开发基本上是不可能的,人家没...
今天介绍一下 go语言的并发机制以及它所使用的CSP并发模型 CSP并发模型 CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管...
golang sync.pool对象复用 并发原理 缓存池 在go http每一次go serve(l)都会构建Request数据结构。在大量数据请求或高并发的场景中,频繁创...
前言 Go语言的垃圾回收(Garbage Collection,以下简称GC)机制是并发三色标记,是一种不移动的标记-清扫 GC算法。在2018年的一次演讲 中,官方公布了尝...
Compare two string slices in GoLang 开发中经常会遇到需要比较两个slice包含的元素是否完全相等的情况,一般来说有两个思路: reflec...
特别说明: 本文写于2015年11月,当时我在找工作,据此优化简历,每投必中。当时我还写了求职相关的其它文章,发布在公众号“程序视界”和简书,比如大龄程序员的未来在何方、35...
广义上的二进制文件包括文本文件,这里讨论的是狭义上的二进制文件与文本文件的比较: 1. 能存储的数据类型不同 文本文件只能存储char型字符变量。二进制文件可以存储char/...
阅读经典——《深入理解计算机系统》01 信息是什么文件Hello World程序的生命周期开始运行Hello World虚拟地址空间总结 信息是什么? 信息就是位+上下文。 ...
这段时间学操作系统,好奇计算机是怎么从通电到成功加载操作系统的,看了一些文章顺便做下总结。 第 0、1 小节介绍了一些地址和寄存器的基本概念,后面介绍了 80386 从通电后...
前言 习惯用 Json、XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 其实 是 Google出品的一种轻量 & ...
简单总结一下:
同步:主动菜是否准备好(光等或轮询)
异步:服务员在菜准备好的时候通知你
阻塞:没准备好之前什么事都不干
非阻塞:没准备好之前干其他事
楼主举的例子所说的同步跟阻塞一般是针对数据准备阶段的。
所以最后的总结图对应的是:
阻塞I/O:同步阻塞
非阻塞I/O:同步(轮询)非阻塞
I/O多路复用:同步阻塞(不过可以同时监听多个socket状态,效率高了)
信号驱动I/O:异步非阻塞
异步I/O:真正意义上的异步非阻塞(上面的都只是数据准备阶段,这个是数据准备和数据处理阶段)
上一篇《聊聊同步、异步、阻塞与非阻塞》[https://www.jianshu.com/p/aed6067eeac9]已经通俗的讲解了,要理解同步、异步、阻塞与非阻塞重要的两...
读完了Redis实战,感觉收获还是蛮多的。像往常那样,读完就想将书束之高阁。这几天总感觉差点什么,于是又翻了一下这本书,打算记录书上和自己知道的关于Redis优化的小知识点。...
前言 HTTP网络通信协议在任何的开发工作中都非常重要 今天,我将献上一份HTTP的说明指南,希望你们会喜欢 目录 1. 储备知识 讲解HTTP协议前,先了解一些基础的计算机...
前言 计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略 今天,我将详细讲解计算机网络中最重要的TCP协议,含其特点、三次握手、四次挥手、无差错传输等知识,希望你们会喜欢...