本人小白一枚,初学java。感觉java学起来非常自然,写起程序来思路也很清晰,刚刚学完多线程编程一块,所以想将一些比较重点的知识点写下来,防止遗忘。
java中创建一个线程有两种方法:
- 继承Thread类,重写run() 方法
- 实现 Runnable 接口 run() 方法,将一个对象实例作为创建线程的参数
下面详细介绍这两种方法:
1.继承Thread类,重写run() 方法
用一个类继承 Thread 类,重写其中的 run() 方法。通过创建该类的一个对象实例,就成功地创建一个线程啦!
举个栗子:
//MyThread类继承Thread类
public class MyThread extends Thread{
//重写run()方法,自定义线程要执行的任务
public void run(){
System.out.println("I am a thread !");
}
//现在让线程跑起来
public static void main(String[] args){
//创建一个实例对象
MyThread t=new MyThread();
//启动线程
t.start();
}
}
一个线程一旦创建并且运行,就会执行对应的run()方法。所以说,要实现一个线程,最关键的就是自定义run()方法。
2.实现Runnable 接口
Runnable接口中有一个run()方法,只要实现这个方法,并创建一个实例对象,以这个对象为参数,创建一个Thread对象。此时用到的构造器是Thread(Runnable arg0)
同样举个小小的栗子:
public class MyThread1 implements Runnable{
public void run(){
//自定义
System.out.println("This is a test!");
}
public static void main(String[] args){
//首先创建一个可运行的对象
MyThread1 mt=new MyThread1();
//将可运行对象作为参数
Thread t=new Thread(mt);
//启动线程
t.start();
}
}
Runnable接口,顾名思义,指“可运行”。将一个可运行的对象传入Thread的构造器中,一旦线程启动,就会找到其中可运行对象的run()方法执行。
如果对接口的概念不熟悉,可以参考我的另外一篇博客java的抽象类与接口