12.1 概述(P438 ~ P439)
并发出现的根本原因在于计算速度与I/O速度的严重不符。在任务串行执行的情境下,为了等待缓慢的I/O,计算机会长期处于等待状态而无法继续执行下一个任务,善使得资源大量浪费。针对这一点,使计算机采取并行的方式执行任务是最简单、有效的解决方案。相比而言,“令多客户端皆感受到任务的执行状态”这一点则显得更加“人道主义”,给人感觉更像并发带来的额外收益,而不是促进并发产生的动力。
本章内容是Java开发者在实际工作中经常会接触的内容,因此对于本章节的学习不能不求甚解,一定要刨根揭底,力图理解每一个细节。从接触学习Java线程开始,就至少代表Java开发者已经迈向了中级的道路,Java内存模型是学习Java线程的基础,如果不能完全的理解该模型的每个细节,无论是学习本书接下里的内容还是学习其它Java多线程书籍,都只能一知半解,就如同我在学习本章节前先学习了《Java并发编程实战》一书,不但学习的非常吃力且内容也无法融汇贯通,正是因为缺少了Java内存模型的相关知识。但本人也非常疑惑为何一般讲解Java并发的书籍会没有先讲述Java内存模型…