多线程编程就像一个沼泽,中间遍布各种各样的陷阱。大多数开发者绝大部分时间都是在做上层应用的开发,并不需要过多地涉入底层细节。但是在多线程编程或者说是并发编程中,有非常多的陷阱被埋在底层细节当中。如果不知道这些底层知识,可能在编写过程中完全意识不到程序已经出现了漏洞,甚至在漏洞爆发之后也很难排查出具体原因进而解决漏洞。虽然前面提到的漏洞听起来很吓人,但是相信通过我们逐步的抽丝剥茧,在最后一定能掌握大量的实用工具来帮助我们解决这些问题,实现可靠的并发程序。
这段代码实现的基本功能就是在两个线程中分别对一个整型累加一百万次,那么我们期望的输出应该总共是两百万。但在我的电脑上运行的结果只有1799369,而且每次都不一样,相信在你的电脑上也会运行得到一个不同的结果,但是肯定会达不到两百万。