一、进程和线程
进程:运行中的程序。
线程:进程的一个实体,一个进程至少有一个线程。
二、并发和并行
并发:一并发生,侧重于多个事件或者任务同时到来。
并行:一并执行,侧重于多个事件或者任务同时执行。
三、线程的生命周期
创建:通过new创建一个线程类的对象
就绪:通过start0方法开始等待CPU调度
执行:获得CPU的调度,run方法中的内容开始执行
阻塞:通过sleep方法、wait方法等,由执行状态失去CPU资源时的状态
销毁:run方法执行完毕时自动销毁
四、创建线程的方式
1、继承Thread类
2、实现Runnable接口
3、实现Callable接口
4、从线程池中获取
五、Runnable和Callable的异同点
相同点:
1、都是通过接口方式实现
2、都不能通过start方法直接启动
不同点:
1、Runnable接口规定的是run方法,Callable接口规定的是call方法
2、Runnable接口无返回值,Callable接口有返回值
3、Runnable的run方法不能抛出异常,Callable的call可以抛出异常
4、Callable可以通过Future对象了解任务的执行状况、取消任务、得到任务结果等