Java多线程编程核心技术(1)
第一章 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 【Java多线程编程核心技术(1)】如图2所示,需要的逻辑处理在注释之后编写即可。
(2)实现Runnable接口
文章图片
图3 调用实现Runnable接口的类实现线程的创建和使用
文章图片
图4 Runnable接口的实现 同理,业务逻辑代码在run()方法中进行编写。
另,在项目中,发送邮件的代码中,是这样实现的:
文章图片
图5 开启线程,实现发送邮件 以上,写出了线程的启动。
使线程暂停,将于下一篇文章进行介绍。
推荐阅读
- Java字符串拼接详解
- java实现二分查找
- 坚持是一件很难的事
- 多线程Debug窥探单例模式
- 致离开的人
- 第四天|第四天 - 知识点总结
- 急速瘦身|急速瘦身 就趁现在
- 谈写作牛人堂|谈写作牛人堂|齐帆齐(在写作这?条路上,你还能坚持多久())
- 顺势而为的成熟
- 处理线程池内错误信息打印问题