wkhtmltopdf 实现批量对网页转为图片的好工具,快速实现大量卡片制作
欢迎来到涛涛聊AI
1、需求痛点
在学习当中经常遇到一些知识点,想和大家分享。但只有文本形式,很多人不愿意去阅读,也看不到重点。
如果自己去单独设计页面版式,又太浪费时间。那就想着有没有一种方法,可以把一个知识点做成卡片形式的。
当然通过扣子平台可以完成。可是每一个知识点的形式不固定。有大有小,有长有短。
让大模型生成图片又行不通。想到了让大模型生成网页形式,然后再对网页形式截图,形成卡片。
好主意,说干就干。
大模型生成网页这个已经没有难度,而且也进行了实验,完全可行。
优先解决生成图片的问题。
经过网络搜索,知道了这个wkhtmltopdf.但其实也可以生成网页。下面我们就一步一步来演示操作。
2、软件安装。
这个软件不太好找,很多的时候下载不下来。为了方便大家使用,我已经将它放置网盘。需要的同学自行获取。
更换安装路径。
为了避免后期在使用命令行调用的时候,出现莫名的错误。所以这里建议放到一个没有空格的,并且只有英文的目录当中。
3、查看帮助。
查看目录结构。
内容非常少,在bin目录有exe文件。
显示命令选项。
利用大模型进行翻译。
直接把图片丢给豆包大模型。
这是 wkhtmltoimage
工具的命令行选项说明文档 。wkhtmltoimage
是一个能将 HTML 页面转换为图片的工具。以下是对这些选项的介绍:
一般选项
- 裁剪相关
-
--crop-h <int>
:设置裁剪高度。--crop-w <int>
:设置裁剪宽度。--crop-x <int>
:设置裁剪的 x 坐标。--crop-y <int>
:设置裁剪的 y 坐标。
- 帮助信息
-
-H, --extended-help
:显示更详尽的帮助信息,介绍不常见的命令开关。-h, --help
:显示普通帮助信息。
- 文件格式
-
-f, --format <format>
:指定输出图片的格式 。
- 屏幕尺寸相关
-
--height <int>
:设置屏幕高度(默认根据页面内容计算,默认值为 0 )。--width <int>
:设置屏幕宽度,仅作为参考值,使用--disable -smart-width
可使其严格生效(默认值 1024)。
- 许可与日志
-
--license
:输出版本许可信息后退出。--log-level <level>
:设置日志级别,可选择none
(无日志)、error
(错误日志)、warn
(警告日志)、info
(信息日志,默认值 )。-q, --quiet
:减少输出信息,等同于--log-level none
,用于向后兼容。
- 图片质量与版本
-
--quality <int>
:设置输出图片质量,取值范围 0 - 100(默认 94 )。-V, --version
:输出版本信息后退出。
如果使用中遇到问题或想请求新功能,可访问 <https://wkhtmltopdf.org/support.html>
4、实战演练。
使用大模型生成的相关使用。
第一次的提示词
我写的提示词如下。
请帮我生成关于 wkhtml2pdf.相关知识的介绍和使用。用html格式输出。我要将网页截成图片。方便在手机上阅读。所以生成的网页宽高比。要对手机访问友好。
让大模型优化提示词。
再次和AI交互
我现在想编写一段大模型提示词,我把需求发给你,你帮我把提示词生成下,
AI上道了。
我的需求
任务类型 :创意HTML编写核心需求:更加用户输入的主题,生成相关知识、或者使用的简述角色设定:AI专家,技术专家输入数据:一个主题输出要求:html格式约束条件:版式面向手机访问需求参考示例:python学习路线、什么是智能体、AI绘画如何入门
AI给出的模版
### 角色设定
您是兼具AI专家与技术传播者双重身份的知识架构师,擅长将复杂概念转化为移动端友好的结构化内容。### 核心任务
基于用户提供的主题,生成符合以下要求的知识内容:
1. 核心概念解释(3个关键点)
2. 学习/实践路径(分3阶段)
3. 常见问题解析(2-3个典型问题)
4. 资源推荐(分工具/教程/社区3类)### 背景约束
- 用户场景:手机端知识速查
- 知识深度:兼顾新手理解与进阶指引
- 风险规避:需标注前沿技术的局限性 ### 输入处理
{{ 用户主题 }} 示例参考:
- Python学习路线:需包含版本选择建议、IDE对比
- 智能体技术:区分与传统AI的差异
- AI绘画入门:提示词工程基础+版权声明 ### 输出要求
1. **结构规范**- 每模块带🔑emoji引导重点 - 段落≤3行,每行≤15字 - 技术名词后括号标注英文
2. **移动端优化**- 主标题H2+子标题H3 - 关键数据用**加粗**突出 - 避免嵌套表格/复杂列表
3. **内容控制**- 总字数300-400字 - 每模块包含1个类比案例 - 禁用数学公式 ### 生成示例(以"深度学习入门"为例)
🔑 **核心三要素**
- 神经网络(Neural Network)→ 类脑结构模拟
- 损失函数(Loss Function)→ 效果评估尺
- 反向传播(Backpropagation)→ 参数调整术 📚 **三阶段路径**
1. 基础认知:Python→线性代数→PyTorch
2. 实战进阶:Kaggle Titanic→MNIST手写识别
3. 领域深化:CV/NLP/RL任选专项突破
...
做了个工作流,但格式太固定了。而且也不是html,难道是我的想法不能实现?
还是我自己分下类吧但生成的markdown,我要的是html,调整提示词。
第三次提示词
# 角色
你是一位出色的知识架构师,兼具AI专家与技术传播者的双重身份,擅长把复杂概念转化为适合移动端浏览的结构化内容。## 技能
### 技能 1: 概念类知识内容
1. 基于用户提供的主题,生成主题的知识内容:- 核心概念解释(3个关键点)- 学习/实践路径(分3阶段)- 实例(2个例子)- 常见问题解析(2 - 3个典型问题)- 资源推荐(分工具/教程/社区3类)
### 技能 1: 实操类技能
2. 基于用户提供的主题,生成主题的知识内容:- 操作步骤- 常见问题解析(2 - 3个典型问题)
2. 生成的内容需符合以下规范:- 结构规范:- 每模块带🔑emoji引导重点 - 段落≤3行,每行≤15字 - 移动端优化:- 主标题H2+子标题H3 - 关键数据用加粗突出 - 避免嵌套表格/复杂列表- 内容控制:- 总字数300 - 400字 - 每模块包含1个类比案例 - 禁用数学公式- 输出格式:-输出为HTML格式### 示例参考(以"深度学习入门"为例)
🔑 **核心三要素**
- 神经网络(Neural Network)→ 类脑结构模拟
- 损失函数(Loss Function)→ 效果评估尺
- 反向传播(Backpropagation)→ 参数调整术 📚 **三阶段路径**
1. 基础认知:Python→线性代数→PyTorch
2. 实战进阶:Kaggle Titanic→MNIST手写识别
3. 领域深化:CV/NLP/RL任选专项突破 ### 输入处理
{{ 用户主题 }}示例参考:
- Python学习路线:需包含版本选择建议、IDE对比
- 智能体技术:区分与传统AI的差异
- AI绘画入门:提示词工程基础+版权声明 ## 限制:
- 用户场景限定为手机端知识速查。
- 知识深度需兼顾新手理解与进阶指引。
- 需标注前沿技术的局限性。
- 生成html格式
- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
还得慢慢优化。
wkhtmltoimage 命令行示例
自由发挥
为了兼容问题的随机性,干脆去掉过多的限定,让大模型自由发挥些。
请根据用户的主题生成相关知识的介绍和使用。
要求
1、用html格式输出,我要将网页截成图片。
2、页面版式方便在手机上阅读
3、添加emoji符合方便阅读
4、样式和内容在一起,不要分成多个文件
测试下
原始网页
结果emoji表情没有了
更换为添加颜色吧
还好吧,慢慢优化。
这样可以批量用程序去生成小卡片
.\wkhtmltoimage.exe --quality 85 D:\ProgramData\wkhtmltopdf\html\mcp2.html aaa2.jpg
相关文章:
wkhtmltopdf 实现批量对网页转为图片的好工具,快速实现大量卡片制作
欢迎来到涛涛聊AI 1、需求痛点 在学习当中经常遇到一些知识点,想和大家分享。但只有文本形式,很多人不愿意去阅读,也看不到重点。 如果自己去单独设计页面版式,又太浪费时间。那就想着有没有一种方法,可以把一个知识…...
case客户续保预测中用到的特征工程、回归分析和决策树分析的总结
文章目录 [toc]1. 回归分析概述1.1 基本概念1.2 与分类的区别 2. 常见回归算法2.1 线性回归2.2 决策树回归2.3 逻辑回归(Logistic Regression)2.3 其他算法补充:通俗版:决策树 vs 随机森林🌳 决策树:像玩「…...
最新如何在服务器中解决FFmpeg下载、安装和配置问题教程(Linux|Windows|Mac|Ubuntu)
最新如何在服务器中解决FFmpeg下载、安装和配置问题教程(Linux|Windows|Mac|Ubuntu) 摘要: FFmpeg是一个强大的开源工具,广泛应用于音视频处理,支持格式转换、视频剪辑、流媒体推送…...
vue webSocket
vue webSocket 一、vue2 webSocketwebSocket.jsvue2 二、vue3 webSocket tswebSocket.tsvue3 一、vue2 webSocket webSocket.js export default {data() {return {websock: null, // 建立的连接,存websocket实例化的lockReconnect: false, // 是否真正建立连接…...
Flask+Influxdb+grafna构建电脑性能实时监控系统
Influx下载地址,这里下载了以下版本influxdb-1.8.5_windows_amd64.zip 运行前需要先启动Influx数据库: 管理员方式运行cmd->F:->cd F:\influxdb\influxdb-1.8.5-1->influxd -config influxdb.conf,以influxdb.conf配置文件启动数…...
【golang/jsonrpc】go-ethereum中json rpc初步使用(websocket版本)
说在前面 操作系统:win11 wsl2go-ethereum版本:1.15.8 关于json-rpc 官网 server 定义方法type CalculatorService struct{}func (s *CalculatorService) Add(a, b int) int {return a b }func (s *CalculatorService) Div(a, b int) (int, error) {…...
【C++】 —— 笔试刷题day_15
刷题day_15,继续加油!!! 一、平方数 题目解析 题目给出一个数,让我们找到离它最近的一个平方数,然后输出即可。 算法思路 这道题总体来说还是非常简单的。 这里先来看一种思路,就是从1开始找…...
网站备案详解
当小型网站开发完毕具备上线条件后,需要完成域名映射与相关备案,才能合法运维。就像婴儿出生后,要开出生证明并去派出所上户口一样,备案后就是有“户口”的网站啦。具体效果见:CodingLife 一:服务器部署 …...
IPV6应用最后的钥匙:DDNS-GO 动态域名解析工具上手指南--家庭云计算专家
DDNS-GO作为一款轻量级开源工具,其IPv6功能通过自动化动态域名解析,有效解决了家庭网络因运营商动态分配IPv6地址导致的访问难题。用户无需复杂配置,即可将冗长的IPv6地址绑定至易记域名,并实时同步IP变化,显著提升了N…...
ubuntu 系统安装Mysql
安装 mysql sudo apt update sudo apt install mysql-server 启动服务 sudo systemctl start mysql 设置为开机自启 sudo systemctl enable mysql 查看服务状态 (看到类似“active (running)”的状态信息代表成功) sudo systemctl status mysql …...
Go:方法
方法声明 type point struct { X, Y float64 }// 普通函数 func Distance(p, q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }// Point类型的方法 func (p Point) Distance(q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }方法声明与普通函数声…...
十四种逻辑器件综合对比——《器件手册--逻辑器件》
目录 逻辑器件 简述 按功能分类 按工艺分类 按电平分类 特殊功能逻辑器件 应用领域 详尽阐述 1 逻辑门 一、基本概念 二、主要类型 三、实现方式 四、应用领域 2 反相器 工作原理 基本功能 主要应用 常见类型 特点 未来发展趋势 3 锁存器 基本概念 工作原理 主要类型…...
[网鼎杯 2022 青龙组]fakeshell
这个题,我们查壳之后是upx壳。 但是当我们用upxunpack解包的时候我们解不出来。 说明有人动过这个包。 然后我们打开010eider,修改他的魔改 将此处,我们改成UPX我们在解包就可以了。然后我重新使用upxunpack 之后我们成功得到未加密的文件…...
vivado + modelsim 仿真:Post-Synthesis Timing Simulation
Vivado 结合Modelsim 实现综合后仿真的一种方法 Post-Synthesis Timing Simulation 使用Vivado 生成仿真所需文件创建Modelsim工程参考文档 使用Vivado 生成仿真所需文件 Vivado simulation 中可勾选Generate simulation scripts only;勾选-sdf_anno; 在testbanch文件中例化gl…...
可能存在特殊情况,比如控制台显示有延迟、缓冲问题等影响了显示顺序。
从控制台输出看,正常逻辑应是先执行 System.out.println(" 未处理异常演示 "); 输出对应文本,再因 arr 为 null 访问 length 触发 NullPointerException 输出异常信息。可能存在特殊情况,比如控制台显示有延迟、缓冲问题等影响…...
使用Python建模量子隧穿
引言 量子隧穿是量子力学中的一个非常有趣且令人神往的现象。在经典物理学中,我们通常认为粒子必须克服一个势垒才能通过它。但是,在量子力学中,粒子有时可以“穿越”一个势垒,即使它的能量不足以克服这个势垒。这种现象被称为“量子隧穿”。今天,我们将通过 Python 来建…...
Python-控制语句
控制语句 控制语句和逻辑思维 控制语句:把语句组合成能完成一定功能的小逻辑模块分类:顺序、选择、循环“顺序结构”:代表“先执行a,再执行b”的逻辑“条件判断结构”:代表“如果…,则…”的逻辑“循环结构”:代表“如果…则重复执行…”的逻辑条件判断结构 选择结构通…...
库学习04——numpy
一、基本属性 二、 创建数组 (一)arange a np.arange(10,20,2) # [10,12,14,16,18] 只有一个参数n的话,默认是从0到n-1的一维数组。 (二)自定义reshape a np.arange(12).reshape((3,4)) [[ 0 1 2 3][ 4 5 …...
DeepSeek在应急救援领域的应用解决方案
DeepSeek在应急救援领域的应用解决方案 一、引言 1.1 应急救援领域现状 近年来,我国应急管理工作全面加强,取得了显著成效。然而,一系列重特大灾害事故暴露出我国应急管理体系存在诸多问题短板。例如,在责任落实、应急处突、法…...
【HCIP】GRE VPN实验笔记
一、实验拓扑 二、实验要求 1、按照图示配置IP地址 2、在R1和R3上配置默认路由使公网区域互通 3、在R1和R3上配置GRE VPN,使两端私网能够互相访问,Tunnel口IP地址如图 4、在R1和R3上配置RIPv2或者ospf或者静态,来传递两端私网路由 三、实…...
ChatRex: Taming Multimodal LLM for Joint Perception and Understanding 论文理解和翻译
一、TL;DR MLLM在感知方面存在不足(远远比不上专家模型),比如Qwen2-VL在coco上recall只有43.9%提出了ChatRex,旨在从模型设计和数据开发两个角度来填补这一感知能力的缺口ChatRex通过proposal边界框输入到LLM中将其转…...
10min速通Linux文件传输
实验环境 在Linux中传输文件需要借助网络以及sshd,我们可通过systemctl status sshd来查看sshd状态 若服务未开启我们可通过systemctl enable --now sshd来开启sshd服务 将/etc/ssh/sshd_config中的PermitRootLogin 状态修改为yes 传输文件 scp scp (Sec…...
CE、NCE、InfoNCE的演变过程
CE、NCE、InfoNCE的演变过程及数学推导和关系 在机器学习和深度学习中,交叉熵( C E CE CE)、噪声对比估计( N C E NCE NCE)和信息噪声对比估计( I n f o N C E InfoNCE InfoNCE)是三个紧密相关…...
在Vue项目的引入meting-js音乐播放器插件
开源项目:https://github.com/swzaaaaaaa/NBlog 1、开源项目中音乐播放插件的使用流程 步骤1:下载meting-js相关文件 在MetingJS官方仓库或其他可靠的CDN获取meting-js的JavaScript文件以及相关依赖(如APlayer的文件)。将它们下…...
rapidocr 2.0 在线demo来了
引言 今日北京大风,大家都窝在家里,自己也趁着周末更新了RapidOCR在线demo,适配rapidocr2.0系列。 rapidocr2.0支持4个推理引擎(ONNRuntime、OpenVino、PaddlePaddle和PyTorch),且整理了文本检测和文本识…...
Compose笔记(十五)--进度条
这一节了解一下Compose中的进度条,有两种类型的进度条可供使用,分别是线性进度条(LinearProgressIndicator)和圆形进度条(CircularProgressIndicator),每种进度条又可分为确定模式和不确定模式。…...
图谱可视化的海洋生物信息查询网站的设计与实现(springboot+ssm+vue)含文档
图谱可视化的海洋生物信息查询网站的设计与实现(springbootssmvue)含文档 该系统是一个图谱可视化的海洋生物信息查询网站,主要功能包括海洋动物、海洋植物、生物图鉴、保护生物和海洋生物分布等模块;用户可以通过系统首页访问这些模块;在海…...
目标追踪Hyperspectral Adapter for Object Tracking based on Hyperspectral Video
论文作者:Long Gao,Yunhe Zhang,Langkun Chen,Yan Jiang,Weiying Xie,Yunsong Li 作者单位:Xidian University;the University of Sheffield 论文链接:http://arxiv.org/abs/2503.22199v1 内容简介: 1)方向&#x…...
【HD-RK3576-PI】Linux制作deb包的方法
1.什么是deb包 ? DEB包是Debian及其衍生Linux发行版(如Ubuntu、Linux Mint等)使用的软件包格式。DEB包主要用于简化软件的安装、更新和卸载过程。它实际上是一个归档文件,通常包含了两个主要部分: 数据压缩包…...
FileInputStream 详解与记忆方法
FileInputStream 详解与记忆方法 一、FileInputStream 核心概念 FileInputStream 是 Java 中用于从文件读取原始字节的类,继承自 InputStream 抽象类。 1. 核心特点 特性说明继承关系InputStream → FileInputStream数据单位字节(8bit)用…...
什么是回表?哪些数据库存在回表?
目录 一、什么是回表1. 回表的核心流程2. 示例说明3. 回表的性能问题4. 总结 二、哪些数据库会有回表1. MySQL(InnoDB)2. Oracle3. 其他数据库(如 SQL Server、PostgreSQL)4. 总结 三、非聚集索引与聚集索引的区别及产生原因1. 聚…...
跨平台开发的挑战与突破:Java开发工具的探索与实践!
全文目录: 开篇语前言摘要概述源码解析代码实例代码解析代码解析1. import java.io.File;2. public class CrossPlatformFileManager3. public static void main(String[] args)4. String filePath "example.txt";5. File file new File(filePath);6. *…...
JDK的卸载与安装
卸载JDK 删除java的1安装目录 卸载JAVA_HOME 删除path下关于java的路径 java -version查看 安装JDK 百度搜索JDK,找到下载地址 同意协议 下载电脑对应版本 双击安装 记住安装路径 配置环境变量 我的电脑–>右键–>属性–>高级系统设置 环境变…...
CyclicBarrier 基本用法
CyclicBarrier 基本用法 简介 CyclicBarrier 是 Java 并发包(java.util.concurrent)中的一个同步辅助类。它允许一组线程相互等待,直到到达某个公共屏障点(common barrier point)。只有当所有参与的线程都到达屏障点…...
限流、降级、熔断、隔离?
在微服务架构中,服务限流、降级、熔断和隔离是保障系统高可用性的核心手段,但它们解决的问题和应用场景不同。以下是它们的区别、解决方案和实际案例的详细说明: 一、服务限流(Rate Limiting) 定义:通过限…...
asm汇编源代码之-字库转换程序
将标准的16x16点阵汉字库(下载16x16汉字库)转换成适合VGA文本模式下显示的点阵汉字库 本程序需要调用file.asm中的子程序,所以连接时需要把file连接进来,如下 C:\> tlink chghzk file 调用参数描述如下 C:\> chghzk ; 无调用参数,转换标准库文件(SRC16.FNT)为适合VGA…...
深入浅出:信号灯与系统V信号灯的实现与应用
深入浅出:信号灯与系统V信号灯的实现与应用 信号灯(Semaphore)是一种同步机制,用于控制对共享资源的访问。在多线程或多进程环境下,信号灯能够帮助协调多个执行单元对共享资源的访问,确保数据一致性与程序…...
定时器介绍及简单应用
定时器介绍及简单应用 文章目录 定时器介绍及简单应用1.定时器基本介绍1.1MSP430的四种定时器: 2.定时器A(Timer_A)2.1特点2.2寄存器的命名2.3寄存器表格2.4计数器原理说明2.4.1时钟源、分频器、计数器、工作模式2.4.2计数器复位 2.5定时器中断2.5.1定时…...
运行一次性任务与定时任务
运行一次性任务与定时任务 文章目录 运行一次性任务与定时任务[toc]一、使用Job运行一次性任务1.创建一次性任务2.测试一次性任务3.删除Job 二、使用CronJob运行定时任务1.创建定时任务2.测试定时任务3.删除CronJob 一、使用Job运行一次性任务 1.创建一次性任务 (…...
TypeScript入门
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
MySQL数据库备份与恢复详解
在数据库管理中,数据的备份与恢复是至关重要的一环。对于MySQL数据库,定期备份不仅能防止数据丢失,还能在发生故障时快速恢复数据库。本文将详细介绍MySQL数据库的备份与恢复方法,覆盖所有常用备份和恢复方式,帮助大家…...
【c语言】猜凶手
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。 现在请根据这些信…...
Java学习打卡-Day25-注解和反射、Class类
注解(JDK5引入) 什么是注解? Java注解(Annotation),也叫元数据。一种代码级别的说明,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面…...
【愚公系列】《Python网络爬虫从入门到精通》048-验证码识别(滑动拼图验证码)
🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...
CMake中add_custom_target用法详解
在 CMake 中,add_custom_target 是一个用于创建自定义构建目标的命令。它主要用于定义一些不生成文件,但需要执行的特定操作(比如运行脚本、执行命令、触发其他构建步骤等)。以下是它的核心用途和特点: 基本语法 add_…...
埃隆·马斯克如何通过开源创新塑造未来
李升伟 编译 埃隆马斯克的名字在多个行业回响——从电动汽车、太空探索到人工智能及更多领域。虽然许多人关注他革命性的公司(如特斯拉、SpaceX、Neuralink和The Boring Company),但较少有人意识到他在开源软件运动中悄然却深远的影响力。本…...
大型语言模型中的工具调用(Function Calling)技术详解
一、引言 随着大型语言模型(LLM)能力的飞速发展,它们在自然语言理解、文本生成、对话交互等方面展现出了令人惊叹的表现。然而,LLM 本身并不具备执行外部操作的能力,比如访问网页、调用第三方 API、执行精确数学运算等…...
IKBC F108 白色背光普通版说明书
部分按键白色背光版和新的 RGB 版并不相同。比如灯光控制,新老款会有按键配置冲突的。 IKBC F108 白色背光款(普通款)按键说明 ScrLk 倒计时定时器 使用 F1~F12 及 1~9 控制时间,设置完成按 Enter 确认,或按 En…...
Microsoft Office 如何启用和正常播放 Flash 控件
对于新安装的 Office 默认是不支持启用 Flash 组件的,Flash 组件会无法播放或者黑屏。 本片文章就带你解决这个问题,相关资料都在下方连接内。前提概要,教程对应的版本是 mso16,即 Office 2016 及更新版本,以及 365 等…...
muduo库源码分析: One Loop Per Thread
One Loop Per Thread的含义就是,一个EventLoop和一个线程唯一绑定,和这个EventLoop有关的,被这个EventLoop管辖的一切操作都必须在这个EventLoop绑定线程中执行 1.在MainEventLoop中,负责新连接建立的操作都要在MainEventLoop线程…...