------- android培训、java培训、期待与您交流! ----------
1.Runnable(可运行的)接口概述
- 第二种创建线程的方式:声明实现Runnable接口的类,该类然后实现run方法。
- Runnable接口只有一个方法void run(),覆盖这个方法,run()中写线程代码。
-
1
2
3
4
5
6
7
8
9
10
11
12
|
class 类名 implements Runnable{
方法 1 ;
方法 2 ;
…
public void run(){
}
属性 1 ;
属性 2 ;
…
}
|
2.定义:
- 第一步:声明实现Runnable接口的类class。
- 第二步:覆盖void run()方法。//将线程要运行的代码存放在run方法中。
- 第三步:声明一个class的对象,如:PrimeRun p = new PrimeRun(143);//143是线程名。
- 注意:这个对象p还不是线程,因为创建线程必须是Thread对象或者Thread子类对象,它与Thread没有关系。那么怎么样让这个对象与Thread有关系呢?Thread类中定义了一个构造方法Thread(Runnable target)。
- 第四步:new Thread(p).start();//Thread(p)把实现Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
- 为什么将这个子类对象传给Thread类的构造函数?
- 因为,自定义的run方法所属的对象是Runnable接口的子类对象。所以要让线程去指定指定对象的run方法。就必须明确该run方法所属对象。
- 第五步:调用Thread类的start方法开启线程并调用Runnable接口子类的run方法。
3.两种创建方式的区别
-
实现方式和继承方式的区别:
- 实现方式好处:避免了单继承的局限性。在定义线程时,建议使用实现方式。
- 两种方式区别:
- 继承Thread:线程代码存放在Thread子类run方法中。
- 实现Runnable:线程代码存放在接口的子类的run方法。
4.声明实现了Runnable接口的对象,并没有创建线程,thread类及其子类才能创建线程。
- 如Ticket t =new Ticket(); //Ticket实现了Runnable
- Thread t1 = new Thread(t); //创建了一个线程,把实现了 Runnable的ticket对象作为参数,创建线程。
- t1.start();//线程开始运行
分享到:
相关推荐
在学习Java过程中,自己收集了很多的Java的学习资料,分享给大家,有需要的欢迎下载,希望对大家有用,一起学习,一起进步。
在Java中只支持单继承,因此通过继承Thread类创建线程有一定的局限性,这时可以使用另一种方式,即实现Runnable接口来...接下来在案例中将通过实现Runnable接口方式创建线程,并实现多线程分别打印0~99的数字的功能。
"Thread 线程类实现 Runnable 接口" Thread 线程类是 Java 中 Thread 和 Runnable 接口的实现,它提供了线程的基本操作和管理。下面是对 Thread 类的详细介绍: 1. Runnable 接口 Runnable 接口是 Thread 类的...
基于JAVA的多线程实现方法-实现Runnable接口 将需要实现多线程的类声明为实现Runnable接口的类,实现run()方法,并将线程体放在该方法里。
Java多线程--创建多线程的基本方式二:实现Runnable接口
声明自定义线程类实现Runnable接口实现奇数/偶数序列线程并发执行。
农业信息系统开发
1、Java有两种实现多线程的方式:通过Runnable接口、通过Thread直接实现,请掌握这两种实现方式,并编写示例程序。 2、多线程是并发执行的,交替占有cpu执行,请编写示例程序,并观察输出结果。 3、采用线程同步方法...
声明自定义线程类实现Runnable接口实现奇数/偶数序列线程并发执行。
一个简单的多线程代码示例,Java实现,用于实现同一时刻,只允许一个线程调用执行的代码块或类,即synchronized的如何使用(多线程实现),实现 Runnable
1. 写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。 学习线程之间的通信协调关系。 2. 使用 runnable 接口实现按两... 使用继承Thread类方式和实现Runnable接口两种方式实现。
本文首先介绍了线程的有关概念,接着介绍了线程的生命期及其状态间的转换,多线程的调度 原则,线程的死锁,详细阐述了多线程的两种实现方法: 由Thread类派生子类;实现Runnable接口
分别用Thread类和Runnable接口实现的阶乘的计算过程及结果的显示(本来一开始设置的不要积分,不知道为啥变得需要积分了,故此调整一下)
2.2 实现Runnable接口 3. 实现Runnable接口: 3.1 实现步骤 3.2 优点与用途 4. 启动线程: 4.1 使用Thread类启动线程 4.2 使用Executor框架启动线程池 5. 传递参数给线程: 5.1 使用构造方法传递参数 5.2 使用类成员...
一个用java编写的实现Runnable接口的小程序
2.实现 Runnable 接口:可以实现 Runnable 接口来实现多线程编程。 3.使用线程池:可以使用线程池来实现多线程编程,以提高程序的执行效率和响应速度。 多线程编程是一个非常重要的概念,它可以提高程序的执行效率...
计算机后端-Java-Java核心基础-第20章 多线程 07. 同步代码块处理实现Runnable的线程安全问题.avi
多线程的学习的笔记 Thread1:继承Thread类 * Thread2:继承Runnable接口 * * ThreadMethod:一些Thread常见方法 * ThreadTestDome1 练习:创建两个线程 其中一个线程遍历100以内的偶数 另一个遍历一百内奇数 ...
线程的创建有继承Thread类和实现Runnable接口两种方式,通过Runnable方式可以更加容易实现多线程之间资源共享。 通过sleep可以使线程进入休眠状态,通过join方法可以让线程处于等待,其他线程执行完毕后继续执行。 ...
add 实验一:多线程/2.Runnable接口. 实验八:JDBC数据库编程二——存储过程与函数 add 实验八:JDBC数据库编程二——存储过程与函数/2.addTwoNumAndReturn. 实验十:Socket编程 add 实验十:Socket编程/...