《Go 进阶 · 分布式爬虫实战》 学习笔记 day2

325 阅读1分钟

大家好,我是砸锅。一个摸鱼八年的后端开发。熟悉 Go、Lua。今天和大家一起学习爬虫😊

如果当前程序处理的时间大多数花在 CPU 上,它就是 CPU 密集型(CPU-bound)系统。相反,如果程序的大多数时间花费在等待 I/O 上,这种程序就是 I/O 密集型(I/O bound)的。

在 Linux 一切皆文件的设计下,Socket 是一个特殊的文件,存储在描述进程的 task_struct 结构中。Socket 结构中存储了发送队列与接收队列,每一个队列中保存了结构 sk_buffer。sk_buff 是代表数据包的主要网络结构,但是 sk_buff 本身存储的是一个元数据,不保存任何数据包数据,所有数据都保存在相关的缓冲区中

image.png

image.png

I/O 模型分为 5 种类型,分别是:阻塞 I/O;非阻塞 I/O;多路复用 I/O;信号驱动 I/O;异步 I/O。

此文章为3月Day19学习笔记,内容来源于极客时间《Go 进阶 · 分布式爬虫实战》 这门课真的非常好,推荐大家看看