C++多线程并发学完后,该学什么呢?

概述

如何安排知识点的学习次序,有很多做法,下面提供一种思路。

答:C++在多线程学完后,可以学网络。

相当于这么一个学习及实际开发中常见演进过程:

  1. 单线程、无网络的程序: 一家公司,一个员工干活 (光杆司令,个体户??);
  2. 多线程,无网络的程序:一家公司,招聘了几位小弟内部合作(有样子也有效率啦);
  3. 多线程,有网络的程序:好几家公司之间互相配合干活。

当然,中间或许也还会有个步骤:单线程,但有网络(几个光杆司令之间配合?)

《白话C++》 下部“练武”, 就是按这个过程安排的:

第12章 《并发》

 

第13章《网络》

网络服务端当然是最常见的需要并发支持的程序,比如要处理多个用户的访问;网络客户端也会有并发需要,比如网络爬虫一次抓取多个网站资源。

这两点书时里都讲了以个,C++的另一个相对传统需求的图形界面编程,《白话C++》也有专门一章,就在《并发》前面:

第11章 《GUI》

GUI(图形用户界面开发),相当于开办公司之前的办公场地门面装修吧…哈哈哈:)。而后的开发GUI客户端如何提供并发支持和网络支持知识点学习,也没给您落下:

没错,是一个支持跨平台的原生GUI的群聊聊天室。在这个非常经典的例子里 ,大家可以非常真实地学习到,来自异构框架的:网络客户端(wxWidget)和 网络服务端(asio)如何在TCP协议标准下实现支持多个聊友的并发通信……

并发和GUI如何配合,这绝对是一个当年微软OFFICE产品线面试都会问到的知识点,毕竟多数GUI框架,并不支持后台线程直接刷界面。于是,消息对列 事件循环等知识点你都将在有实际开发案例的情况下学习到。

说到网络客户端,这书不仅有讲TCP,甚至UDP,FTP,HTTP都给了案例。

更多

猜一下,在“门面装修 GUI”之前的第九章应该是什么?而在“跨公司合作 并发”的下一章,又应该是什么?可以看看我在CSDN里发布的视频和文章,或者上我的个人小网站(www.d2school.com)看看更多学习内容。

总而言之,暂时你可能找不到第二套如此结合练语法,练编程思想(OP、OB、OO,GP)互联网时代要求的C++书籍了。

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

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

相关文章

多级页表查询

说明一下这个三级页表的查询,会需要上面的L2,L1,L0 如果在二级页表level就是2,PGSHIFT是12,那么就是往左移129*2位置,在&9bit就得到L2,其他以此类推 也表查询,首先有跟页表的地址pagetable,…

美团到店-后端开发一面

1. 介绍一下spring的两大核心思想 2. 介绍一下java的代理,以及动态代理和静态代理的区别 3. spring动态代理是如何生成的,jdk动态代理和cglib的区别 4. 介绍一下synchronized关键字、以及synchronized锁和lock的区别 5. 讲一下java中synchronized的锁升级…

测径仪:大小通吃的“直径判官”

嗨,大家好!今天我要给你们介绍一个超级厉害的玩意儿——在线测径仪!它可不是一般的测量工具,它是那个能让直径无处遁形的“直径判官”! 想象一下,有了在线测径仪,你就像是拥有了一双超级敏锐的“…

elasticsearch的数据搜索

DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户…

docker容器下部署hbase并在springboot中通过jdbc连接

我在windows的docker中部署了一个hbase服务,然后用springboot连接到此服务并访问数据。 详情可参考项目中的README.md。项目中提供了用于构建镜像的dockerfile,以及测试代码。 项目连接:https://gitee.com/forgot940629/hbase_phoenix_spring…

【Windows 常用工具系列 15 -- VMWARE ubuntu 安装教程】

文章目录 安装教程镜像下载 工具安装 安装教程 安装教程参考链接:https://blog.csdn.net/Python_0011/article/details/131619864 https://linux.cn/article-15472-1.html 激活码 VMware 激活码连接:https://www.haozhuangji.com/xtjc/180037874.html…

一下想要邮寄很多快递,该怎么邮寄呢?

我们都知道淘宝网上开店的经常会邮寄很多快递,但是这么多快递不可能一下子拿到快递驿站去邮寄吧,但是快递员又不上门取件可怎么办呀,这可真是让人伤透了脑筋了, 我们都知道我们所在的区域一般都会有快递员来承揽我们所在区域的快递…

Jenkins安装 Linux 更换镜像 安装插件

Jenkins安装 Linux 更换镜像 安装插件 前言 下面叙述了三种jenkins安装的方式,jenkins安装之前必须有java环境因为他是java写的… yum安装只能安装最新版本的jenkins,但是jenkins是java写的所以他强依赖java版本,当你的服务器的java版本与jenkins版本冲突时还需要给jenkins重…

烟火AI识别检测算法在新能源汽车充电桩站点的应用方案

新能源汽车作为现代科技与环保理念的完美结合,其普及和应用本应带给人们更加便捷和绿色的出行体验。然而,近年来新能源汽车充电火灾事故的频发,无疑给这一领域投下了巨大的阴影。这不禁让人深思,为何这一先进的交通工具在充电过程…

C语言复杂度(个人笔记)

时间复杂度主要衡量一个算法的运行快慢. 空间复杂度主要衡量一个算法运行所需要的额外空间. 时间复杂度 算法中的基本操作的执行次数,为算法的时间复杂度. 只需要大概执行次数,我们使用大O的渐进表示法。(看谁对数学表达式的影响最大) 空间复杂度 是…

MySQL双机热备份操作

文章目录 概要数据库服务器准备1.MySQL数据库主服务器。2.备份数据库服务器数据准备主服务器dump数据从数据库导入数据配置双机热备份主服务配置从服务配置概要 对于已经在运行的MySQL数据库如何进行双机热备份?本文章详细介绍如何操作进行MySQL双机热备份。 数据库服务器准…

【NC201610】Game

题目 Game 分解质因数,博弈 思路 博弈论一般是两极分化的,要么有思路,相当简单;要么没思路,死活想不出来。 所以一般先找规律,然后大胆猜想,最后提交验证 这道题有什么规律呢? 可以…

python 教你如何创建一个自定义库 colorlib.py

目录 Colorlib 生成代码 模块代码 导入测试 测试一 测试二 应用测试 颜色列表 colorList 随机颜色元组 randcolorTuples 随机颜色字串 randcolorStrings Color类测试 测试一 测试二 题外话 Colorlib 有没有碰到过这样的场景:写代码时想要用上丰富的色…

图像几何变换(仿射变换和透视变换...)及python-opencv实现

文章目录 图像变换类型仿射变换透视变换python-opencv实现参考文献 图像变换类型 图像几何变换主要包括以下几种类型: 平移(Translation):将图像在水平或垂直方向上移动,不改变图像的尺寸和形状。缩放(Sca…

[Java、Android面试]_10_Java中==与equal()方法的区别?重写equal()方法?

与equal()方法的区别?是一个高频考点,资料整理如下: 文章目录 1. ""的介绍2. .equal的介绍 本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料…

Java并发

目录 线程 什么是线程 进程和线程的区别 线程的生命周期 什么是多线程 并发与并行 多线程的三种实现方式 继承Thread类 1.创建类继承Thread类 2.重写run()方法 3.创建对象启动线程 实现Runnable接口 1.自己定义一个类实现Runnable接口 2.重…

程序猿成长之路之番外篇——矩阵算法

今天在复习线性代数知识的过程中,用java语言简单实现了一下矩阵算法。 数学知识回顾 1.什么是矩阵 在数学领域,矩阵就像一个表格,将数据排放进去,形成一个矩形。我们习惯用一个大括号把矩阵内的数据包括进来。 1.矩阵 在数学领域…

FeignClient是否可以配置多个拦截器?

1、做法 在Spring Cloud中,FeignClient是一个声明式的Web服务客户端,让调用远程服务就像调用本地方法一样简单。拦截器可以用于在发送请求之前或者获得响应之后执行一些操作,比如添加公共的Header、记录日志、做一些统计等。 在Feign中&…

Python Web开发记录 Day14:Django part8 订单管理

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、数据库准备2、添加订单3、订单列表4、删除订单5、编辑订单6、补充解答1、数据库准备 1.修改models.py,添加Order订单表 models.py class O…

JavaScript parseInt() 函数

JavaScript parseInt() 函数 从官方理解: parseInt() 函数解析字符串并返回整数。 radix 参数用于指定使用哪种数字系统,例如基数为 16(十六进制)表示字符串中的数字应从十六进制数解析为十进制数。 如果 radix 参数被省略&…