概述
如何安排知识点的学习次序,有很多做法,下面提供一种思路。
答:C++在多线程学完后,可以学网络。
相当于这么一个学习及实际开发中常见演进过程:
- 单线程、无网络的程序: 一家公司,一个员工干活 (光杆司令,个体户??);
- 多线程,无网络的程序:一家公司,招聘了几位小弟内部合作(有样子也有效率啦);
- 多线程,有网络的程序:好几家公司之间互相配合干活。
当然,中间或许也还会有个步骤:单线程,但有网络(几个光杆司令之间配合?)
《白话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++书籍了。