感谢Kim, Hugh和 Erin

首先,我要对我的妻子Kim说声“感谢!”,感谢她在我写书时给予我的爱与支持。撰写本书的第一版占用了我很大一部分空闲时间,第二版还需要大量的时间投入其中。如果没有她的耐心、支持和理解,我肯定没有办法完成本书。

其次,我要感谢曼宁团队的Marjan Bace(出版商)、Michael Stephens(副出版商)、Cynthia Kane(我的研发编辑)、Aleksandar Dragosavljevic´(审核编辑)、Safis Editing和Heidi Ward(文案编辑),还有Melody Dolab(校对员),他们使得本书出版成为可能。如果没有他们的支持,你就不可能读到这本书。

当然,还要感谢C++委员会的其他成员,他们在多线程方面贡献了很多篇论文:Andrei Alexandrescu, Pete Becker, Bob Blainer, Hans Boehm, Beman Dawes, Lawrence Crowl, Peter Dimov, Jeff Garland, Kevlin Henney, Howard Hinnant, Ben Hutchings, Jan Kristofferson, Doug Lea, Paul McKenney, Nick McLaren, Clark Nelson, Bill Pugh, Raul Silvera, Herb Sutter, Detlef Vollmann和Michael Wong,以及那些对论文进行评论的人们,那些在委员会上讨论并发问题的人们,帮助在C++11、C++14、C++17标准和并发TS中支持并发和多线程的人们。

最后,我要感谢给本书建议的人们,他们建议大大改善了这本书的内容:Dr. Jamie Allsop, Peter Dimov, Howard Hinnant, Rick Molloy, Jonathan Wakely, and Dr. Russel Winder(特别感谢Russel博士的仔细校对),Frédéric Flayol作为技术教研员,在本书的制作过程中,仔细的检查了所有内容,以确定最终的手稿中没有明显的错误(剩下的错误都是我遗留的)。此外,我还要感谢第二版的评审小组:Al Norman, Andrei de Araújo Formiga, Chad Brewbaker, Dwight Wilkins, Hugo Filipe Lopes, Vieira Durana, Jura Shikin, Kent R.Spillner, Maria Gemini, Mateusz Malenta, Maurizio Tomasi, Nat Luengnaruemitchai, Robert C. Green II, Robert Trausmuth, Sanchir Kartiev和 Steven Parr。还要感谢花时间阅读MEAP版的读者们,感谢你们花时间指出书中的错误和需要特别说明的部分。