Java多线程编程核心技术(1)

第一章 java多线程技能

目标:

0、初识线程

1、线程的启动

2、使线程暂停

3、停止线程

4、线程优先级

5、线程安全

0、初识线程

线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。(百度百科)

多线程

在单个程序中同时运行多个线程完成不同的工作,称为多线程。

1、线程的启动

此论题的前置条件:线程在java中的实现。两种方式:继承Thread类,重写run()方法;实现Runnable接口的run()方法。这类文章在网上特别多。直接上代码

(1)继承Thread类

Java多线程编程核心技术(1)_第1张图片
图1 使用继承自Thread类的线程
Java多线程编程核心技术(1)_第2张图片
图2 继承Thread类的class 

如图2所示,需要的逻辑处理在注释之后编写即可。

(2)实现Runnable接口


Java多线程编程核心技术(1)_第3张图片
图3 调用实现Runnable接口的类实现线程的创建和使用


Java多线程编程核心技术(1)_第4张图片
图4 Runnable接口的实现

同理,业务逻辑代码在run()方法中进行编写。

另,在项目中,发送邮件的代码中,是这样实现的:


Java多线程编程核心技术(1)_第5张图片
图5 开启线程,实现发送邮件

以上,写出了线程的启动。

使线程暂停,将于下一篇文章进行介绍。

你可能感兴趣的:(Java多线程编程核心技术(1))