一、线程相关概念
1.单线程:同一个时刻,只允许执行一个线程
2.多线程:同一个时刻可执行多个线程
3.并发:同一时刻,多个任务交替执行,造成一种“貌似同时”的错觉,简单的说,单核cpu实现的多任务就是并发
4.并行:同一时刻,多个任务同时执行。多核cou可实现并行。
二、创建线程的两种方式
1.继承Thread类,重写run方法。
start()方法调用start0之后,该线程不一定会立马执行,只是将线程变成了可运行状态。具体什么时候执行,取决于cpu,由cpu统一调度.
Cat cat = new Cat();
cat.start();//启动线程
//当一个类继承了Thread类,该类就可以当作线程使用
//一般会重写run方法,写上自己的业务代码
//Thread类实现了Runnable 接口的run方法
class Cat extends Thread{
@Override
public void run() {
try {
Thread.sleep(1000);//使用Thread的sleep方法,进行规定时间的休眠。
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
2.实现Runnable接口,重写run方法
由于java是单继承的,在某些情况下一个类可能已经继承了某个父类,这时在用继承Thread类的方法创建线程就不太现实,因此可以通过实现Runnable接口来创建线程。