栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

多线程简介

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多线程简介

多线程

机器执行的最小单位,充分利用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异常退出

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号