进程:是受操作系统管理的基本运行单元
线程:在进程中独立运行的子任务(多任务的操作系统Windows可以最大限度地利用CPU的空闲时间来处理其他任务)
在一个进程运行时至少有一个线程在运行。
一.实现多线程的方式:
1.继承Thread类
public class ThreadB extends Thread{
public void m1(){
System.out.println("m1 start");
}
public void run(){
this.m1();
System.out.println("m1 end");
}
public static void main(String[] args){
ThreadB tb1=new ThreadB();
tb1.start();
}
}
2.实现Runnable接口
public class ThreadA implements Runnable{
@Override
public void run() {
for(int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName()+"第"+i+"次");
}
}
public static void main(String[] args) {
ThreadA ta=new ThreadA();
Thread t1=new Thread(ta);
Thread t2=new Thread(ta);
t1.setName("t1");
t2.setName("t2");
t1.start();
t2.start();
}
}
Java语言的特点就是单继承,所以为了支持多继承,可以实现Runnable接口的方式。
其实两种方法的本质都是实现Runnable接口,因为Thread类也实现了Runnable接口