多线程(创建线程的方法)
2015-10-22 16:28
232 查看
进程:程序(任务)执行的过程
进程持有资源(共享文件,共享文件)和线程(控制单元)
java中实现多线程的两种方法:继承Thread类、实现Runable
实现方式和继承方式有什么区别呢?
实现方式好处:避免了单继承的局限性。
在定义线程时建议使用实现方式
两种方式区别:
继承Thread:线程代码存放在Thread子类的run方法中。
实现Runnable:线程代码存在接口的子类的run方法中。
继承Thread类,代码大致框架:
一、定义类继承Thread。
二、重写Thread类中的run方法。
目的:将自定义的代码存储在run方法中,让线程运行。
三、调用线程的start方法。
该方法有两个作用:启动线程,调用run方法。
View Code
为什么要将Runnable接口的子类对象传递给Thread的构造函数?
因为,自定义的run方法所属的对象是Runnable接口的子类对象。
所以要让线程去执行指定对象的run方法,就必须明确该run方法所属对象
5.调用Thread类的start方法开启线程并调用Runnable接口子类的run方法。
进程持有资源(共享文件,共享文件)和线程(控制单元)
java中实现多线程的两种方法:继承Thread类、实现Runable
实现方式和继承方式有什么区别呢?
实现方式好处:避免了单继承的局限性。
在定义线程时建议使用实现方式
两种方式区别:
继承Thread:线程代码存放在Thread子类的run方法中。
实现Runnable:线程代码存在接口的子类的run方法中。
继承Thread类,代码大致框架:
一、定义类继承Thread。
二、重写Thread类中的run方法。
目的:将自定义的代码存储在run方法中,让线程运行。
三、调用线程的start方法。
该方法有两个作用:启动线程,调用run方法。
import java.lang.*; //创建Runnable接口的子类 class RunnableDemo implements Runnable { public void run() { System.out.printn("将要用多线程实现的代码放入run方法中"); } } //main方法中使用 class userMain { public static void main(String [] args) { //创建Runnable子类的对象 RunnableDemo runnabledemo = new RunnableDemo(); //创建Thread类,将Runnable接口的子类作为参数传递进去 Thread thread = new Thread(runnabledemo); //使用线程 thread.start(); } }
View Code
为什么要将Runnable接口的子类对象传递给Thread的构造函数?
因为,自定义的run方法所属的对象是Runnable接口的子类对象。
所以要让线程去执行指定对象的run方法,就必须明确该run方法所属对象
5.调用Thread类的start方法开启线程并调用Runnable接口子类的run方法。
相关文章推荐
- iOS验证邮箱, 手机号, 密码, 账户名 --- 正则表达式
- MSM8909平台 LED背光的控制
- C++中模板使用介绍
- python~迭代器~生成器~
- MSM8909平台 LED背光的控制
- IOS 网络通信 异步请求
- iOS开发数据库篇—SQL代码应用示例
- iOS开发数据库篇—SQLite简单介绍
- unix学习笔记---------自己写的管道实例----父子进程通信
- logstash自定义插件和资料
- loadrunner性能测试
- 编写简单web服务器
- 个人总结的常用java,anroid网站
- (中级篇 NettyNIO编解码开发)第九章-Jboss Marshalling 编解码
- exploits的利用实例
- 重载、重写(覆盖)、隐藏的区别--Java
- [转]oauth2.0原理图
- Nginx反向代理的端口总是80的问题
- iOS开发数据库篇—SQLite简单介绍
- MD5码加密