1.java中,线程的实现有2种:
1、继承Thread类
1.Thread类是在java.lang包中定义的,继承Thread类必须重写run()方法
2.定义格式:
class className extends Thread{
run(){ };
}
3.示例:
实现线程的并发执行:
MyThread类:
package com.jikexueyuan.thread;
public class MyThread extends Thread {
private String name;
public MyThread(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
super.run();
}
}
调用MyThread类
public class ThreadDemo01 {
public static void main(String[] args) {
MyThread t1 = new MyThread("A");
MyThread t2 = new MyThread("B");
// t1.run();
// t2.run();
// 线程的启动是通过start();
t1.start();
t2.start();
}
}
运行结果:
两线程AB是并发执行的!
2、实现Runnable接口
1.都需要复写run();
2.示例:
实现runnable:
public class MyRunnable implements Runnable {
private String name;
public MyRunnable(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
}
}
调用:
public class ThreadDemo01 {
public static void main(String[] args) {
MyRunnable r1 = new MyRunnable("A");
MyRunnable r2 = new MyRunnable("B");
// runnable接口不可能存在启动方法,需要通过thread来启动
Thread t1 = new Thread(r1);
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}
运行结果:
并发执行