动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

线程启动实现方法之利用Runnable接口

08-19 17:01 163浏览
举报 T字号
  • 大字
  • 中字
  • 小字

线程是进程中的一个独立控制单元,线程在控制着进程的执行,多线程可以更好地利用cpu的资源,线程之间还能进行数据共享,线程是java语言中不可或缺的一部分。前面的文章中介绍了线程的启动方法之一:利用Thread类的子类实现,今天来讲讲另一个启动线程的方法——利用Runnable接口的相关知识,在学习线程的java爱好者们一起看下去吧。

利用实现 Runnable 接口的类的实例以启动线程的方法Runnable接口是 java.lang Package 里的接口,声明方法如下:

Public interface Runnable{

Public abstract roid run ();

}

己实现Runnable接口的类必须实现run方法。(Runnable接口虽然己经实现,但仍可声明未实现run方法的类,不过这个类会变成抽象类)

Printer类(代码1是表示一个连续输出10000次指定字符串的线程欲输出的字符串以构造器的参数指定,存储在message字段Print类则声明为己实现implementsRunnable接口的类此时不必再将Printer类设为Thread 的子类。

代码1:

​
public class Printer implemes Runnable 
private String message; 
public Printer(String message) { 
this.message=message; 
}
public void run() { 
for (int i = 0; i < 10000; i++) { 
System.out.print(message)
}
}
}

​

Main(代码2)这个程序则是先建立Printer类的实例,再利用它们来启动2个线程

public class Main { 
public static void main (String[) args) { 
new Thread(new Printer (”Good !”) ) .start (); 
new Thread(new Printer (”Nice !”) ) .start ();
}
}

在代码2里,建立Thread类的实例时,就输出Printer类的实例作为构造器的参数。然后才利用start方法启动线程也就是:

new Thread(new Printer (”Good !”) ) . start() ;

这里是先重新建立Printer类的实例,把它传出去作为参数后,再建立Thread

类的实例,将该实例的start方法调用出来的语句

调用出start方法后,就会启动新的线程然后,这个线程再调用Printer类的实例的run方法最后就变成是新启动的线程去进行连续输出10000次“ Good !”的工作。上面的语句也可以写成3个,即

Runnable r ηew Printer (Good !);

Thread t = new Thread(r);

t.start();

建立个实现了Runnable接口的类,将该实例传给Thread的构造器,调用 start方法……,这就是利用Runnable接口来启动线程的方法

以上就是利用Runnable接口实现线程接口的方法二的学习内容,无论是利用Thread类的子类的方法,还是利用实现了Runnable接口的类的方法也好,用来启动新线程的方法永远是Thread类的start方法。希望大家可以通过这篇文章的介绍及讲解,掌握用Runnable接口启动线程的技能。

0人推荐
共同学习,写下你的评论
0条评论
谨慎的老王
程序员谨慎的老王

6篇文章贡献19329字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消