2011 年 C++ 迎来重大的改革 , 语言层面上承认了 多线程 程序的存在 , 加入了 thread 多线程支持库, 内容丰富 ,功能强大。
首先从我个人理解角度粗鄙的理解一下多线程。多线程众所周知 切割时间片的多程序并发运行,大多数的计算机都支持多线程并发的硬件支持。
这可能是最简单的多线程程序了。
多线程的等待和分离:
线程的启动到该线程结束之前的这段时间内,必须明确指出等待或者分离线程(join( )或者detach( ))。
当然线程的启动到线程结束之前的这段时间内如果程序抛出异常那么就可能会发生意料之外的情况 , 我们在设计多线程程序的时候同样考虑异常的抛出 , 在异常中加入join( ),是必要的。但是我个人并不会经常使用 C++的异常理论,可能是从业的历史遗留问题吧,我从来未曾见过try/catch块在某个工程中大量的应用。可能以后会用见到吧。
另外 我曾拜读过Anthony Williams C++ 并发编程实战,本身书是好书 , 可惜了中国的翻译事业仍需努力,中文译本惨不忍睹不要将区区的金钱埋没在了技术之上,毕竟科技才是引领发展的原动力。
在这书中毕竟有着 Anthony Williams 心血 , 还是获益匪浅。