在java中有两种方式创建线程:
- java.lang包中提供了Thread类来完成多线程,其中提供了大量的方法供我们操作线程。我们可以创建一个线程类来继承这个Thread类来实现线程的操作。
- 因为我们编写的线程类要继承其他的类,而java不支持多继承,所以就提供了另外一种创建线程的方式,就是所创建的线程类实现Runnable接口。
多线程的使用:
- 继承自Thread类创建线程类
public class MyThread1 extends Thread{
private int i = 0;
//无参构造方法,调用父类构造方法设置线程名称
public MyThread1(){
super("我的线程1");
}
public void run(){
try {
while(i<10)
{
System.out.println(this.getName()+"运行第"+(i+1)+"次");
i++;
//在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)
sleep(500);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
- 实现Runnable接口创建线程类
class MyThread2 implements Runnable{
String name = "我的线程2";
@Override
public void run() {
System.out.println(this.name);
}
测试类:
public class TestMyThread {
public static void main(String[] args) {
Thread thread1 = new MyThread1();//新建线程MyThread1
thread1.start(); //启动线程MyThread1
MyThread2 myThread2 = new MyThread2();//实例化线程类MyThread2
Thread thread2 = new Thread(myThread2);//通过实例Thread并且使用其构造函数来创建线程MyThread2
thread2.start(); //启动线程MyThread2
}
}
结果: