线程实现的两种方式:
1.继承Thread类
2.实现Runnable接口:
推荐实现Runnable接口方式:
1、可以多继承
2、可以把Runnable放在不同线程中
代码实现:
package com.lemon;
public class Threaddemo1 {
public static void main(String[] args) {
//继承Thread 启动方式
MyThread my = new MyThread();
my.start(); //启动线程 告诉JVM准备就绪,可以启动线程了
//推荐这种方式:1、可以多继承 2、可以把Runnable放在不同线程中
//继承Rannable 启动方式
MyRunnable mr = new MyRunnable();
Thread thread = new Thread(mr);
thread.start(); //启动线程
}
}
/**
* 实现线程的第一种方式:实现Thread类
*/
class MyThread extends Thread{
@Override
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println(Thread.currentThread().getName()+"-"+ i);
}
}
}
/**
* 实现线程的第二种方式: 实现Runnable接口
*/
class MyRunnable implements Runnable{
@Override
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println(Thread.currentThread().getName()+ "-"+ i);
}
}
}