**进程:**正在运行中的程序
**线程:**进程中的一个执行单元
创建线程的方式
方法一:
class SubThread extends Thread{
/**
* run方法用于定义该线程要执行的任务
*/
@Override
public void run() {
System.out.println("heheh");
}
}
public static void main(String[] args) {
SubThread thread=new SubThread();
thread.start();
}
}
方法二
class SubRun implements Runnable{
@Override
public void run() {
System.out.println("ahahahhaha");
}
}
public static void main(String[] args) {
//实现Runnable接口的类目的是为了定义任务
Runnable run=new SubRun();
//此处的Thread对象是用来创建并开启线程的,它当中没有指定的任务
Thread thread=new Thread(run);
thread.start();
}
}
注意:1、线程中的任务不需要手动调用,通过start方法创建后就会自动调用
2、多个线程之间的运行互不影响
3、线程的运行是随机的(和资源争夺有关)