基础概念
进程:进程是指计算机中已运行的程序,是系统进行资源分配和调度的基本单位
线程:线程就是程序或者某个进程中的一个任务,一个进程中可以同时执行多个线程
并行:多个CPU同时执行多个任务
并发:一个CPU去执行多个任务
一、多线程的创建
1、继承Thread:class 类 extends Thread{
public void run(){
线程要执行的任务必须放在该方法里面
}
}
start方法有两个功能:a.让线程进入等待队列 b.调用run方法
2、实现Runable接口:class 类 implements Runable{
public void run(){
线程的任务
}
}
Thread和Runable的区别:Thread和Runable没有区别,本质上只是实现关系,但是都必须要重写run()方法
3、实现Callable接口(见第七大点)
4、线程池(了解)
二、线程的调度模式
CPU会给线程分配时间片,一旦线程得到时间片,它就可以执行。哪个线程抢到时间碎片该线程就执行,没有抢到时间碎片的线程就处于等待状态
三、线程的生命周期
四、Thread常用的几个方法
运行状态---->阻塞---->就绪
sleep():让当前线程休眠,直到休眠时间结束才让当前线程重新去竞争CPU时间碎片
join():调用线程等待该线程完成后,才能继续往下运行
wait():用于将当前线程进入阻塞状态,并且释放锁
yield():可以让一个线程从运行状态回归到就绪状态,yeild()可以让当前线程释放时间碎片,进入就绪状态重新等待CPU的时间碎片