第七章使用java实现面向对象- 多线程
2024-08-24 22:29:38
一.Thread类和Runnable接口
1.在java.lang包中定义了Runnable接口和Thread类。
Runnable接口中只定义了一个方法,它的格式为:
public abstract void run()
2.这个方法要由实现了Runnable接口的类实现。Runnable对象称为可运行对象,一个线程的运行就是执行该对象的run()方法。
3.Thread类实现了Runnable接口,因此Thread对象也是可运行对象。同时Thread类也是线程类。
4.target为线程运行的目标对象,即线程调用start()方法启动后运行那个对象的run()方法,该对象的类型为Runnable,若没有指定目标对象,则以当前类对象为目标对象;name为线程名,group指定线程属于哪个线程组。
二.线程的创建
线程运行的代码就是实现了Runnable接口的类的run()方法或者是Thread类的子类的run()方法,因此构造线程体就有两种方法:
继承Thread类并覆盖它的run()方法;
实现Runnable接口并实现它的run()方法。
继承Thread类创建线程
通过继承Thread类,并覆盖run()方法,这时就可以用该类的实例作为线程的目标对象。下面的程序定义了SimpleThread类,它继承了Thread类并覆盖了run()方法。
实现Runnable接口创建线程
可以定义一个类实现Runnable接口,然后将该类对象作为线程的目标对象。实现Runnable接口就是实现run()方法。
三.线程的生命周期
线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。
新建:创建一个线程
就绪:等待启动
运行:运行输出
阻塞:从运行返回阻塞状态
死亡:程序结束
最新文章
- java笔记--理解java类加载器以及ClassLoader类
- elasticsearch__5__java操作之FilterBuilders构建过滤器Query
- maven引入的jar带了时间戳
- Snipaste
- 【基本技能篇】>;>;第2篇《如何把事情做到最好——心得》
- Android AsyncTask 简单用法
- MVC3异常处理的方法
- lecture5-对象识别与卷积神经网络
- Go
- Linux 命令整理 —— 用户管理
- Bad configuration option localCommand
- javascript笔记——jikeytang javascript前端群 389875212 精华总结
- javaScript 删除数组中指定元素
- Spring中的DataBinding(一)
- 洛谷-乘积最大-NOIP2000提高组复赛
- HDU 3691 Nubulsa Expo
- CSS3媒体查询(Media Queries)介绍
- Python 装饰器(Decorator)
- 全网Star最多(近20k)的Spring Boot开源教程 2019 年要继续更新了!
- JQERY EasyUI Tabs 选项卡 自适应浏览器宽度高度 解决方案