多线程简介

多线程简介,第1张

线程简介 多线程

机器执行的最小单位,充分利用cpu资源并行处理任务。多核同时处理多个任务,单核充分利用cpu执行快的优点。

创建执行线程

顾名思义 创建一个Thread实例,这个类的实例实现runable方法。所以要执行一个线程需要先创建一个线程,并定义这个线程需要执行的内容 (实现runnable 的run方法)。准备就绪后 start 这个线程开始工作。

Thread类 和runnable 接口的关系

public

class Thread implements Runnable{

private Runnable target;

......

@Override

public void run() {

if (target != null) {

target.run();

}

}

......

}

Thread类是Runnable接口的扩充 最终线程执行的都是run方法的实现。

(这里有点像ApplicationContext 跟 BeanFactotry 的关系也是功能的增强)

线程安全

当一个任务需要多线程并行执行并且有共享资源需要修改访问,就需要考虑共享问题。即并行中的串行。

解决思路 1 加锁串行执行 (锁的选择? 锁的范围?) 2原子 *** 作cas。

线程生命周期

五种状态

新建状态(New) 即 new Thread

就绪状态(Runnable)start 告诉cpu 准备就绪

运行状态(Running) cpu切换至本线程执行

阻塞状态(Blocked) 1 加锁竞争阻塞 2等待资源阻塞

死亡状态(Dead) 线程执行完毕or异常退出

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5684749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存