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,…

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

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

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的渐进表示法。(看谁对数学表达式的影响最大) 空间复杂度 是…

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

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

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

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

Java并发

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

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

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

JavaScript parseInt() 函数

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

Java SE

java概述 1.什么是java java是一门面向对象的编程语言,作为静态面向对象编程语言,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 2.java语言有哪些特点? 2.1面向对象(继承封装多多态&…

Uscrapper:一款功能强大的网络资源爬取工具

关于Uscrapper Uscrapper是一款功能强大的网络资源爬取工具,该工具可以帮助广大研究人员从各种网络资源中轻松高效地提取出有价值的数据,并且提供了稳定、友好且易于使用的UI界面,是安全研究人员和网络分析人员的强有力工具。 Uscrapper最大…

漫谈5种注册中心

01 注册中心基本概念 1.1 什么是注册中心? 注册中心主要有三种角色: 服务提供者(RPC Server):在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。 服务消费者&…

哈希、散列表和Rabin-Karp算法

字典 现有一个抽象数据类型(ADT)如下: 包括了一组元素,每个元素都有一个键key。假设没有元素拥有相同的key,如果有相同的key,则覆盖掉原有key的元素。 -insert(item) -delete(item) -search(key):根据给定的key,返…

JetBrains全家桶激活,分享 GoLand 2024 激活的方案

大家好,欢迎来到金榜探云手! GoLand 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 GoLand等。这些工具被…

LVGL:拓展部件——键盘 lv_keyboard

一、概述 此控件特点: 特殊Button矩阵:lv_keyboard 本质上是一个经过定制的按钮矩阵控件。每个按钮都可以独立触发事件或响应。预定义的键映射:lv_keyboard 自带了一套预设的按键布局和对应的字符映射表,开发者可以根据需要选择…