线程的实现
1.java中线程有两种实现方法
继承Thread类
实现Runnable接口
2.Thread类
Thread类是在java.lang包中定义的,继承Thread类必须重写run()方法
class className extends Thread{
run(){};
}
Runnable接口实现
继承Thread例子
public class ThreadDemo01 {
public static void main(String[] args) {
MyThread t1=new MyThread("A");
MyThread t2=new MyThread("B");
//通过start方法开启线程,,t1与t2是并发执行的,谁抢到cpu资源就谁执行
t1.start();
t2.start();
}
}
public class MyThread extends Thread{
private String name;
public MyThread(String name) {
this.name=name;
}
public void run() {
for(int i=0;i<10;i++){
System.out.println(name+":"+i);
}
super.run();
}
}
不论是继承Thread类还是实现Runnable接口都要去重写run()方法
实现Runnable接口例子
package ThreadTest;
public class ThreadDemo01 {
public static void main(String[] args) {
MyRunnable r1=new MyRunnable("A");
MyRunnable r2=new MyRunnable("B");
Thread t1=new Thread(r1);
Thread t2=new Thread(r2);
t1.start();
t2.start();
}
}
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);
}
}
}