天天看点

《Java程序员面试秘笈》—— 第1章 线程管理 1.1 简介

本节书摘来异步社区《java 7并发编程实战手册》一书中的第1章,第1.1节,作者:【西】javier fernández gonzález,更多章节内容可以访问云栖社区“异步社区”公众号查看。

java 7并发编程实战手册

本章内容包括:

◆ 线程的创建和运行

◆ 线程信息的获取和设置

◆ 线程的中断

◆ 线程中断的控制

◆ 线程的休眠和恢复

◆ 等待线程的终止

◆ 守护线程的创建和运行

◆ 线程中不可控异常的处理

◆ 线程局部变量的使用

◆ 线程的分组

◆ 线程组中不可控异常的处理

◆ 使用工厂类创建线程

在计算机领域中,我们说的并发(concurrency)是指一系列任务的同时运行。如果一台电脑有多个处理器或者有一个多核处理器,这个同时性(simultaneity)是真正意义的并发;但是一台电脑只有一个单核处理器,这个同时性并不是真正的并发。

现代操作系统都允许多任务的并发执行:在听歌的时候,你可以同时阅读电子邮件,也可以同时阅读网页上的信息。这种并发是进程级(process-level)并发。但在一个进程内也可以有多个同时进行的任务。这种进程内并发的任务成为线程(thread)。

与并发相关的另一个概念是并行(parallelism)。与并发有不同的定义一样,并行也有不同的定义。一些学者认为并发是在单核处理器中使用多线程执行应用,与此同时你看到的程序执行只是表面的;相应的,他们认为并行是在多核处理器中使用多线程执行应用,这里的多核处理器可以是一个多核处理器,也可以是同一台电脑上的多个处理器。另一些学者认为并发执行应用的线程是非顺序执行的,相应的,他们认为并行是使用很多线程去简化问题,这些线程是按预定顺序执行的。

本章提供了很多例子来演示运用java 7 api进行线程的基本操作。你将看到如何在java程序里创建和运行线程,如何去控制线程的执行,如何把多个线程进行分组,以及如何去操作分组后的线程单元。