在计算机世界,当人们谈到并发时,它的意思是一系列的任务在计算机中同时执行。如果计算机有多个处理器或者多核处理器,那么这个同时性是真实发生的;如果计算机只有一个核心处理器那么就只是表面现象。
现代所有的操作系统都允许并发地执行任务。你可以在听音乐和浏览网页新闻的同时阅读邮件。我们说这种并发是进程级别的并发。而且在同一进程内,也会同时有多种任务。这些在同一进程内运行的并发任务称之为线程。
另一个与并发性有关的内容是并行性。并行性与并发行有着不同的定义但一定相关的联系。有些人是这样认为:当在一个单核处理器上使用多个线程执行应用程序时,很明显的,在程序执行的同时你就会明白这是并发性。当你使用多个线程在多核处理器或者多处理器的计算机上执行应用时,便是并行性。还有人这样认为:当使用没有预定顺序的多线程执行应用程序时,它是并发性。而当使用多种按照顺序来执行的线程来简化一个问题的解决方案时,它是并行性。
这个章节会展示一些关于如何使用Java 7 API 来实现最基本的线程操作方法。你将会知道如何在Java程序中创建和运行线程,如何控制它们的执行,以及如何通过把线程分组然后把它们作为一个整体来操控。