第一章 java多线程技能
目标:
0、初识线程
1、线程的启动
2、使线程暂停
3、停止线程
4、线程优先级
5、线程安全
0、初识线程
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。(百度百科)
多线程
在单个程序中同时运行多个线程完成不同的工作,称为多线程。
1、线程的启动
此论题的前置条件:线程在java中的实现。两种方式:继承Thread类,重写run()方法;实现Runnable接口的run()方法。这类文章在网上特别多。直接上代码
(1)继承Thread类
图1 使用继承自Thread类的线程 图2 继承Thread类的class如图2所示,需要的逻辑处理在注释之后编写即可。
(2)实现Runnable接口
图3 调用实现Runnable接口的类实现线程的创建和使用 图4 Runnable接口的实现同理,业务逻辑代码在run()方法中进行编写。
另,在项目中,发送邮件的代码中,是这样实现的:
图5 开启线程,实现发送邮件以上,写出了线程的启动。
使线程暂停,将于下一篇文章进行介绍。
网友评论