线程回顾
线程基本概念:
程序: 静态的代码
进程: 运行中的程序,被加载到内存中,是操作系统分配内存的基本单位
线程: 线程是程序处理的基本最小单位 ,是cpu执行的单元
线程的创建方式:
类 继承 Thread 重写run() 创建类的对象
实现Runnable接口 重写run() 任务 new Thread(任务)
实现Callable接口 重写call() 有返回值,可以抛出异常
常用的方法
start() 启动线程,并调用run()
run():线程要执行的代码写在方法里
currentThread()静态代码,返回执行当前代码的线程
getName() 获得线程的名字
setName() 设置线程的名字
yield() 释放当前cpu的执行权
join() 在线程a中调用线程b的join(),此时线程a进入阻塞状态,直到线程b执行完,线程a才继续执行
stop() 强制结束线程(不推荐使用)
sleep(1000) 线程阻塞1s
wait() 进入线程阻塞状态,需要notify()唤醒
isAlive() 判断当前线程是否存活
线程状态
创建 -start()-- 就绪 -----运行 ---- 死亡
----阻塞----
守护线程:在后台运行的线程,当其他线程运行完以后守护线程才结束
多线程
什么是多线程
- 一个程序中,支持同时运行多个线程.
多线程的优点
- 提高程序响应速度,提升硬件(cpu)利用率
多线程存在的问题
- 线程过多占内存.
cpu需要处理线程,需要性能能够满足.
- 多线程访问同一个资源.