线程中,start和run的区别,以及为什么不能调用两次start
发布日期:2024-04-25 21:47:42
浏览次数:1
分类:技术文章
本文共 237 字,大约阅读时间需要 1 分钟。
首先调用run方法,只是单纯调用一个我们重写的run方法,不会创建一个线程,当前类也只作为一个普通类。
而调用start方法创建一个线程,start方法会先判断当前线程状态,如果是第一次调用,则会调用一个start0方法,是一个由native修饰的方法,底层有对应c语言写的API,调用会使操作系统状态转换为内核态,我们知道,只有内核态才能创建线程,所以调用start0会创建出一个线程。如果是第二次调用,在第一步判断时就会抛出一个异常,所以不能同时调用两次start方法。
转载地址:https://blog.csdn.net/zb200101/article/details/131795455 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月21日 20时01分52秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30
用户权限设计-基于RBAC模型
2019-04-30
微服务springcloud2系列篇-网关GATEWAY跨域问题
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
月薪15~20k的前端面试问什么?
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
mysql——介绍及安装与基本用法
2019-04-30
MYSQL——事务操作+视图+存储引擎
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30
squid代理介绍----ACL控制应用+sarg日志分析+反向代理
2019-04-30
JavaScript原生开关灯效果
2019-04-30
微信企业邮箱,手机邮箱格式地址怎么写?
2019-04-30
公司如何申请企业邮箱,公司邮箱怎么申请,公司企业邮箱哪个好?
2019-04-30