手写线程池 - C改C++版
<p>在<a href="https://51tbox.com/" title="手把手教你写C语言线程池">手把手教你写C语言线程池</a>中,已经实现了C语言版的线程池,如果我们也学过C++的话,可以将其改为C++版本,这样代码不管是从使用还是从感观上都会更简洁一些。</p> <p...
<p>在<a href="https://51tbox.com/" title="手把手教你写C语言线程池">手把手教你写C语言线程池</a>中,已经实现了C语言版的线程池,如果我们也学过C++的话,可以将其改为C++版本,这样代码不管是从使用还是从感观上都会更简洁一些。</p> <p...
1. 背锅侠TCP {#1-背锅侠TCP} ===================== 在前面介绍套接字通信的时候说到了`TCP`是传输层协议,它是一个面向连接的、安全的、流式传输协议。因为数据的传输是基于流的所以发送端和接收端每次处理的数据的量,处理数据的频率可以不是对等的,可以按照自身需求来进行决策。 TCP协议是优势非常明显,但是有时也会给我们造成困扰,正所谓:成也萧...
在掌握了基于TCP的套接字通信流程之后,为了方便使用,提高编码效率,可以对通信操作进行封装,本着有浅入深的原则,先基于C语言进行面向过程的函数封装,然后再基于C++进行面向对象的类封装。 1. 基于C语言的封装 {#1-基于C语言的封装} ========================= 基于TCP的套接字通信分为两部分:服务器端通信和客户端通信。我们只要掌握了通信流程,...
1. 本地软件安装 {#1-本地软件安装} ===================== 1.1 MinGW 编译套件 {#1-1-MinGW-编译套件} -------------------------------- > GCC官方提供的编译套件不能直接在 windows 上使用,推荐的解决方案是使用 MinGW。 > > MinGW 提供了一套简单方便...
<hr /> <p>配套视频课程已更新完毕,大家可通过以下两种方式观看视频讲解:</p> <p>关注公众号:<a href="https://51tbox.com/" title="爱编程的大丙">爱编程的大丙</a>,或者进入<a href="htt...
<p>npm 20版本 有问题。</p> <p>系统是 centos7.9</p> <p>补充:之前以为是 node 的版本问题,后来更换 centos8 后 node 20版本可以跑了, 但是代码依然不通过。</p> <p>是代码中 大小写的问题。</p> <p>报错:...
使用方法 {#使用方法} ============ spdlog是基于C++ 11的日志组件,它非常轻量,使用时你仅仅需要引入头文件就可以了。 [spdlog下载链接](https://github.com/gabime/spdlog) 或使用命令下载 |-----------|---------------------------------------------...
C++11引入了auto和decltype关键字,使用它们可以在编译期就推导出变量或者表达式的类型,方便开发者编码的同时也简化了代码。 auto {#auto} ============ auto可以让编译器在编译器就推导出变量的类型,看代码: |-----------------|---------------------------------------------...
<p>C++11新增了右值引用,谈右值引用也可以扩展一些相关概念:</p> <ul> <li> <p>左值</p> </li> <li> <p>右值</p> </li> <li> <p>纯右值</p> </...
C++11新增了列表初始化的概念。 在C++11中可以直接在变量名后面加上初始化列表来进行对象的初始化。 |---------------------------------------------------|----------------------------------------------------------------------------------...