1. 多线程概念:
线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。
- 多线程的实现方式和启动
- 多线程是依靠什么方式解决资源竞争
- 多线程的各种状态以及优先级
- 多线程的暂停方式
2. 多线程详解 1)多线程的实现方式和启动:- 继承Thread和是实现Runnable接口,重写run方法
- 启动只有一种方式:通过start方法,虚拟机会调用run方法
2) 多线程依靠什么解决资源竞争- 锁机制:分为对象锁和类锁,在多个线程调用的情况,每个对象锁都是唯一的,只有获取了锁才能调用synchronized方法
- synchronize同步:分为同步方法和同步方法块
- 什么时候获取锁:每次调用到synchronize方法,这个时候去获取锁资源,如果线程获取到锁则别的线程只有等到同步方法介绍后,释放锁后,别的线程 才能继续使用
3)线程的几种状态- 主要分为:新状态(还没有调用start方法),可执行状态(调用start方法),阻塞状态,死亡状态
默认优先级为normal(5),优先级数值在1-10之间
4) 多线程的暂停方式- sleep:睡眠单位为毫秒
- wait,waitAll,notify,notifyAll,wait等待,只有通过wait或者waitAll唤醒
- yield:cpu暂时停用
- join