0. 概述
多线程学完后,可以学网络。
相当于这么一个学习及实际开发中常见演进过程:
- 单线程、无网络的程序:一家公司,一个员工干活 (光杆司令,个体户?);
- 多线程,无网络的程序:一家公司,招聘了几位小弟内部合作(有样子也有效率啦);
- 多线程,有网络的程序:好几家公司之间互相配合干活。
当然,中间或许也还会有个步骤:单线程,但有网络(几个光杆司令之间配合?)
《白话C++》 下部“练武”, 就是按这个过程安排的。
第12章 《并发》
有这一章,不是光标司令了,你手下有兵帮忙干活,但是,还得对外连横……
第13章 《网络》
网络服务端当然是最常见的需要并发支持的程序,比如要处理多个用户的访问;网络客户端也会有并发需要,比如网络爬虫一次抓取多个网站资源。
这两点书时里都讲了以个,C++的另一个相对传统需求的图形界面编程,《白话C++》也有专门一章,就在《并发》前面。
第11章:GUI
GUI,也就是图形用户界面。这是C++的传统战场,很多企业还在使用。
相当于开公司之前的办公场地门面装修吧……哈哈 :)
GUI客户端也是需要提供并发和网络支持(GUI+并发+网络),这一块也不会对您落下:
没错,是一个支持跨平台的原生GUI的群聊聊天室。在这个非常经典的例子里 ,大家可以非常真实地学习到,来自异构框架的:网络客户端(wxWidget)和 网络服务端(asio)如何在TCP协议标准下实现支持多个聊友的并发通信……
并发和GUI如何配合,这绝对是一个当年微软OFFICE产品线面试都会问到的知识点,毕竟多数GUI框架,并不支持后台线程直接刷界面。于是,消息对列 事件循环等知识点你都将在有实际开发案例的情况下学习到。
说到网络客户端,这书不仅有讲TCP,甚至UDP,FTP,HTTP都给了案例。
猜一下,在“门面装修 GUI”之前的第九章应该是什么?而在“跨公司合作 并发”的下一章,又应该是什么?可以看看本站的更多课程文章。
总而言之,暂时你可能找不到第二套如此结合练语法,练编程思想(OP、OB、OO,GP)互联网时代要求的C++书籍了。