Java多线程(3)-Tread和Runnable的关系
Thread是实现了Runnable接口的类,使得run支持多线程
因类的单一继承原则,推荐多使用Runnable接口
继承Thread:
public class MyThread extends Thread {
private String name;
public MyThread(String name){
this.name=name;
}
@Override
public void run(){
for (int i = 0; i < 5; i++) {
System.out.println("Thread:"+name+" "+"i:"+i);
}
}
}
public class test {
public static void main(String[] args) {
MyThread thread1 = new MyThread("thread1");
MyThread thread2 = new MyThread("thread2");
MyThread thread3 = new MyThread("thread3");
thread1.start();
thread2.start();
thread3.start();
}
}
Thread:thread2 i:0
Thread:thread2 i:1
Thread:thread2 i:2
Thread:thread2 i:3
Thread:thread2 i:4
Thread:thread1 i:0
Thread:thread1 i:1
Thread:thread1 i:2
Thread:thread3 i:0
Thread:thread3 i:1
Thread:thread3 i:2
Thread:thread3 i:3
Thread:thread3 i:4
Thread:thread1 i:3
Thread:thread1 i:4
实现Runnable接口:
public class MyRunnable implements Runnable {
private String name;
public MyRunnable(String name){
this.name=name;
}
@Override
public void run(){
for (int i = 0; i < 5; i++) {
System.out.println("Thread:"+name+" "+"i:"+i);
}
}
}
public class test {
public static void main(String[] args) {
MyRunnable mr1 = new MyRunnable("mr1");
MyRunnable mr2 = new MyRunnable("mr2");
MyRunnable mr3 = new MyRunnable("mr3");
Thread t1 = new Thread(mr1);
Thread t2 = new Thread(mr2);
Thread t3 = new Thread(mr3);
t1.start();
t2.start();
t3.start();
}
}
Thread:mr1 i:0
Thread:mr3 i:0
Thread:mr3 i:1
Thread:mr3 i:2
Thread:mr3 i:3
Thread:mr3 i:4
Thread:mr2 i:0
Thread:mr2 i:1
Thread:mr2 i:2
Thread:mr2 i:3
Thread:mr2 i:4
Thread:mr1 i:1
Thread:mr1 i:2
Thread:mr1 i:3
Thread:mr1 i:4
本文详细介绍了Java中多线程的两种实现方式:通过继承Thread类和实现Runnable接口。对比了两者之间的区别,并通过实例代码展示了如何创建和启动多线程,深入理解Java并发编程的基础。

384

被折叠的 条评论
为什么被折叠?



