当前位置:网站首页>线程的状态简介说明
线程的状态简介说明
2022-08-08 13:55:00 【qq_25073223】
转自:
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”
多线程优点:
1、使用线程可以把占据时间长的程序中的任务放到后台去处理。
2、用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。
3、程序的运行速度可能加快。
4、在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等。
5、多线程技术在IOS软件开发中也有举足轻重的作用
下文笔者讲述java中线程的状态简介说明,如下所示:
线程包括以下5种状态:
- 新建状态(New):线程对象被创建后,就进入了新建状态,如:Thread thread = new Thread()
- 就绪状态(Runnable):也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行
- 运行状态(Running):线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态
- 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种: 1.等待阻塞 -- 通过调用线程的wait()方法,让线程等待某工作的完成。 2.同步阻塞 -- 线程在获取synchronized同步锁失败(因为锁被其它线程所占用),它会进入同步阻塞状态 3.其他阻塞 -- 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态
- 死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期
边栏推荐
猜你喜欢
随机推荐
【Rust—LeetCode题解】1408.数组中的字符串匹配
删库不易,跑路更难
【个人总结】2022.8.7周结
flink知识
IT故障快速解决就用行云管家!快速安全!
基于ModelArts的StyleGAN3生成高清图丨【华为云至简致远】
HackTheBox | Horizontall
非科班毕业生,五面阿里:四轮技术面+HR一面已拿offer
更改默认打开应用程序设置
idea 好工具
腾讯,投了个 “离诺贝尔奖最近的华人”
【索引】图神经论文之GCN(持更)
R语言数据类型转换:基本数据类型的转换、将一种数据类型转化为另外一种数据类型
HackTheBox | Horizontall
MySQL:锁机制 |表级锁、行级锁 | 排它锁、共享锁 | 间隙锁
「复盘」面试BAMT回来整理398道高频面试题,助你拿高薪offer
R语言ggpubr包的ggsummarystats函数可视化分面箱图(通过ggfunc参数和facet.by参数设置)、添加描述性统计结果表格、palette参数配置不同水平可视化图像和统计值的颜色
连锁小酒馆第一股,海伦司能否梦圆大排档?
KD-SCFNet: More Accurate and Efficient Salient Object Detection Through Knowledge Distillation (ECCV2022)
基于Nodejs的医生预约平台的设计和实现