作者:禅与计算机程序设计艺术
1.简介
互联网企业都在大力拓展自己的业务,而新的技术革命也带来了海量的数据量,因此,单机并发处理能力已经无法满足现代信息时代对高速数据的需求。
大数据和云计算带来的分布式系统架构,让单台计算机不仅能够执行单个任务,而且可以横向扩展处理大量任务。在这种情况下,如何充分利用多核CPU、共享内存等资源并发地处理多项任务就成为现代系统设计者们必备技能之一。
本书将以实操为导向,全面讲述Java语言多线程和并发编程技术,系统掌握多线程编程模型、线程安全、锁机制、条件变量、同步容器、高效的并发编程技巧及其最佳实践,使读者具备构建复杂、高性能并发应用的能力。
2.多线程编程模型及优点
多线程编程的目的就是为了提升程序的运行效率,减少响应时间延迟。简单来说,多线程编程就是让程序可以同时运行多个进程或线程,每个线程负责执行不同的任务。它提供了一种更有效的方式解决多处理器、多核CPU执行多个任务时的同时访问资源冲突问题。
Java提供两种多线程编程模型:用户级线程(User-level Threads)和内核级线程(Kernel-level Threads)。
用户级线程
在用户层,线程都是由操作系统内核创建和管理的轻量级进程。这意味着在用户态切换线程需要