这本书主要是讲在使用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
针对CompaqVisualFortran(CVF)6.6的后继编译器IntelVisualFortran(IVF)9.0,系统介绍VisualStudio.NET环境下各种Fortran应用程序的开发,重点讲解FortranQuickWin、FortranWindows、动态链接库及多线程应用程序的开发,以及对话框和控件、自动化服务器和ActiveX控件的使用,并全面、深入地探讨IntelFortran与VisualC++/Basic.NET的混合编程。
另外,本书对VisualStudio.NET开发环境、IntelFortran9.0编译器以及CVF向IVF的转换等也进行了简要介绍。
2024/2/18 6:54:28 6.82MB Visual Fortran 周振红等
1
之前一直在CocoaChina上面潜水,虽然做iOS开发也快2年了,但是总觉得缺少了点什么。
以前查看英文API文档,有些细节总是记不住,每次看完之后也没什么印象。
忽然有一天有人向我抱怨说查看官方英文API文档太痛苦了,然后我就想如果我把一些常用的官方文档翻译为中文的话,或许可以帮助这批需要帮助的人,然后偶就心血来潮,开始了自娱自乐的翻译之旅。
帮助别人的同时,自己也获得快乐。
多线程编程在开发应用的时候非常有帮助。
比如你可以在后台加载图片,等图片加载完成后再在主线程更新等,或者在后台处理一些需要占用CPU很长时间的事件(比如请求服务器,加载数据等)。
要体会多线程编程的好处,还得多实战,结合使用多种多线程技术。
特别要注意RunLoop的使用,很多开发者在编写多线程应用的时候很少关注过RunLoop。
如果你仔细阅读并掌握RunLoop的细节,将会帮助你写出更优美的代码。
同步是多线程编程的老生常谈,估计大学时候大家都基本熟悉了同步的重要性。
本文在翻译过程中发现很多地方直译成中文比较晦涩,所以采用了意译的方式,这不可避免的造成有一些地方可能和原文有一定的出入,所以如果你阅读的时候发现有任何的错误都可以给我发邮件:xyl.layne@gmail.com
2023/8/13 9:57:02 1.39MB iOS开发 多线程 编程
1
第一部分 了解COM第1章 COM概述何谓CoMCOM术语COM利与弊COM的好处COM的局限性COM组件与接口何谓接口接口特征接口类型接口规则接口设计COM组件的实现规则实现IUnknown规则内存管理规则引用计数规则COM激活COM类型COM客户机COM服务器ActiveX控件COM与面向对象技术包装抽象多态继承COMTrader应用程序小结第2章 由VC++建立并使用COM服务器IDL文件建立第一个COM服务器定义自定义接口实现IUnknown和自定义接口完成COM服务器生成测试客户机用ATL建立COM服务器关于ATL用ATL建立进程内COM服务器用ATL建立进程外COM服务器线程与COM服务器Win32多线程应用线程COM组件自动化与IDispatch用VC++实现IDispatchATL与自动化Automation数据类型再谈类型库C++自动化客户机VB自动化客户机小结第3章 用VB建立并使用COM服务器选择COM项目设计接口描述接口浏览接口生成对象使用ClassBuilder增加属性增加方法增加事件与枚举使用ActiveXDataObject(ADO)在服务器组件中使用Recordset对象在客户机组件中使用ADOR生成断开的Recodset生成自己的RecodsctS使用用户定义类型错误处理服务器客户机错误处理使用VBErr.Raise机制在VB中使用线程模型设置线程模型了解再入性与公寓小结第二部分 COM与Internet第4章 在VC++中建立并使用ActiveX控件ACtiveX控件概还属性与方法控件与容器通信事件与连接点建立第一个控件生成控件测试控件增加方法增加属性增加事件增加属性页允许属性保持使用控件建立复合控件增加复合控件增加功能增加事件处理复合控件事件处理错误使用控件小结第5章 在VB中建立并使用ActiveX控件VB控件简介约束与无约束控件控件生成技术属性类型方法属性配置过程属性环境属性配置运行时只读属性只在运行时有效的属性扩展属性容器属性合成控件属性可关联属性持续与属性包属性包使用ActiveX控件界面向导了解控件寿命生成ActiveX控件生成无约束控件生成设计时数据约束控件生成运行数据约束控件小结第6章 用VC++建立InternetCOM组件IEActiveX控件轻量级控件安全控件持续属性文档对象模型编程活动服务器组件活动服务器页面ASP页面的COM组件小结第7章 用VB建立InternetCOM组件无窗口控件ActiveX控件容器的线程模型ActiveX控件的安全性Web页面访问VBDHTML项目DHTML项目基础DHTML应用程序样本VBIIS应用程序WebClass一个IIS应用程序样本设计控件设计控件与HTML文件样本设计控件小结第三部分 了解DCOM第8章 DCOM概述何谓DCOM为什么使用DCOMDCOM操作DCOM组件位置进程内或进程外组件代理RPC(RemoteProcedureCall,远程过程调用)调动数据传递DCOM配置实用程序DCOM应用程序的安全机制验证授权加密整性检查小结第9章 用VC++建立DCOM服务器标准与自定义调动标准调动自定又调动网络通伯远程激活AppID注册表项可配置AppID注册表项参数IUknown优化DCOM与NT服务NT服务解剖基于NT服务的COM服务器小结第10章 用VB建立DCOM服务器应用程序对象模型何谓对象模型如何生成对象模型DCOM设计准则与技术再论调动按数值与按引用DCOM进程外服务器建立DCOM组件增加测试客户机IIS应用程序增加WebClasses使用模板增加自定义Webltems远程错误处理小结第四部分 了解COM++第11章 COM++概述COM与WindowsDNA用户界面层技术中间层技术数据库层技术组件服务配置事务处理排队组件(QC
2023/7/30 3:02:58 10.64MB COM COM+ 入门 代码
1
博创2410实验箱LINUX部分的实验指导书包括:多线程应用程序设计串行端口程序设计A/D接口实验D/A接口实验CAN总线通讯实验简单嵌入式WEB服务器实验RS-485通讯实验直流电机实验步进电机实验图形界面应用程序设计内核实验驱动模块实验无线通讯实验。





2023/7/7 17:20:19 6.15MB 博创 S3C2410 LINUX UP-NETARM2410-S
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡