这本书主要是讲在使用C++11特性时对并发的深入探讨。
它是由作为语言新线程支持基础的BoostThread库的主要开发及维护人员编写的。
总之,作者很有权威性。
该书从最基础的东西开始,假设读者已经有良好(甚至是非常好)的语言基础,但是首次接触并行代码。
该书逐步地探讨了一些由并发带来的问题,讲述了互斥的解决方案和局限性,以及它们是如何在C++11中实现的。
接下来讲述了C++的内存模型和原子类型。
最后,深入探讨了基于锁和无锁数据结构的设计。
这是自从HerbSutter在书中讨论这个话题之后,我所见过的最好的处理方法。
这本书很全面地涵盖了一些真正重要的话题,这些话题在其他书籍中是经常被忽略的,比如像,多线程的代码设计,线程应用程序的调试。
当然,在我看来,这两者都描述得太少了。
书中大部分内容都是作为参考资料(就单独的C++线程库就有差不多130页)。
另一个附录是一个完整的消息框架,并给出了代码和注解。
毫无疑问,作者还是花费了很大的心思,相关的内容都讲到了。
对于这本书,我也有不满意之处,但是它们都微不足道。
第一个就是你必须深入了解C++,否则阅读起来比较困难。
另一个就是作者最后一章讲述的线程池,用红色字体显示的”高级线程”。
在我看来,线程池在并发处设定标记很有意思,但是很可惜,作者却在这儿停笔了。
由此可得知,虽然作者在目录有提及到角色模型,但并没有进行讲解,就好像它压根儿不存在一样,可能在William看来,它其实对好几种语言至关重要,却不包括C++。
总的来说,这些不满意之处只能反应我的偏好,不能说明这本书有缺陷。
William的这本书非常棒,至少在未来的很长一段时间里都能称得上是这个领域的典型著作。
如果你想更仔细地看下这本书的内容,我们最近在一篇很受欢迎的文章里”WaitingforOne-OffEventswithFutures。
”有摘选了一些片段。
2024/7/2 3:36:47 2.13MB C++ 并发
1
01、【中级原理】java多线程并发编程入门原理精通视频教程02、【中级原理专题】java并发编程多线程高级专题课程03.【中级原理】高并发编程原理和线程池精通教程04、【高级原理】Java并发多线程编程基础原理与实战05、【高级原理】【高级原理实战】Java并发编程与高并发解决方案(完整无密)06、【深度进阶】【高级原理实战】java高级多线程高并发编程实战(三个阶段)07、【高并发项目实战】多线程并发分布式并发项目实战共74个G失效的话及时回复,或发送邮件至yn_gizarm@qq.com说明
2024/6/3 14:31:52 116B javva 多线程 高并发 设计模式
1
初学的epoll+线程池的服务器,客户端使用qt没有上传,可以借鉴一下
2024/2/16 9:17:21 57KB linux c++ epoll 线程池
1
从易语言转型到C#感觉C#自带的线程池不够灵活(或许是自己的技术不够),所以自己写了一个线程池工作类为了配合自己的使用习惯,有兴趣的可以下载参考代码用到的是信号处理以及队列等一些比较基础的东西,已经测试了功能基本上可用
2024/1/28 20:21:20 15KB C#自写线程池
1
前端1移动端UI一致性解决方案1美团外卖Flutter动态化实践26美团开源LoganWeb:前端日志在Web端的实现54外卖客户端容器化架构的演进69Flutter包大小治理上的探索与实践96美团外卖持续交付的前世今生125微前端在美团外卖的实践151积木Sketch插件进阶开发指南171积木SketchPlugin:设计同学的贴心搭档199Native地图与Web融合技术的应用与实践230后台245Java线程池实现原理及其在美团业务中的实践245美团万亿级KV存储架构与实践276Java中9种常见的CMSGC问题分析
2024/1/25 0:24:38 86.56MB 美团 大数据 前端 后台
1
在Linux系统下的gcc编程,实现登陆注册查看在线用户上传下载用户管理日志管理等功能,用了线程池和openssl加密
2023/12/15 20:37:47 10KB Linux 文件安全传输 C/C++
1
这个工程是基于TCP长连接的包模式的网络通讯框架。
在TCP连接中,按照一个一个的包方式进行数据传输,框架实现了可以同时侦听多个端口,每个数据包既可以不压缩传输,也能支持zlib压缩和blowfish加密传输。
服务端提供三种线程池来进行tcp连接处理,一类是接收线程池,接收线程池获取每个socket传输来的数据包,同时保证每个socket的包按照到来的顺序进行处理,二类是工作线程池,由接收线程池把接收到的数据包投递到工作线程池,工作线程池专门处理这些接收到的数据包。
三类是发送线程池,当工作线程池处理完这些数据包,确定需要发送处理结果数据包到客户端,或者其他线程需要发送数据包到客户端,他们首先把数据包投递到发送线程池,发送线程池专门负责数据包的发送。
框架同时提供了每个客户端的定时器功能,在服务端内部各个socket之间数据通信等。
框架来源于一个没做完的手游服务端,至于没有使用现成的游戏通讯框架而自己实现,主要是因为习惯了自己造轮子。
因为项目没做完,所有没进行严格的测试,无法保证代码无BUG。
您若要使用到自己的项目中,请完全熟悉了之后再用,这样出现BUG也好自己修改。
框架支持Linux和windows平台。
相关BLOG请看如下连接:http://blog.csdn.net/fanxiushu/article/details/50631626
2023/12/2 4:42:36 224KB C++,通讯
1
该app主要实现的功能是食谱分类,查看,搜索,收藏。
图片采用三级缓存策略,请求数据时运用线程池进行处理。
数据接口来自网上,数据网址在我源码里有。
你们也可以按照你们自己的想法开发出这样一个app。
2023/11/15 12:29:06 3.69MB 食谱app
1
两个文件代码,非常直观的提供了QTcpSocket和QTcpServer线程池方法,支持随时连接、多连接。
不懂再私信问我
2023/10/8 18:41:06 3KB 线程池
1
里面有4个C#winfrom多线程的例子,需要可以下载下来看看,全方位让你看到,后台对于线程的操作,附带线程说明教程,最后还有线程池的使用说明和例子
2023/10/7 13:22:37 1.5MB 多线程 c#
1
共 43 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡