线程的执行原理
分析:
- 时间片:即CPU分配给各个程序的时间,每一个进程都被分配一个时间段,称作它的时间片,即该进程允许运行的时间。由于时间片很短(ms级),所以使各个程序从表面上看是同时进行的。
- CPU把一度时间分成很多个时间片,它在一个时间片内只能执行一个进程,然后换下一个时间片,执行下一个进程。
Java线程运行状态与方法调用图:
一、Java线程中常用方法
方法 | 描述 | 详解 |
对象.start() |
表示线程处于活动的,可以抢时间片状态,而不是开始运行。 |
略 |
对象.interrupt() | 表示将线程对象中断。 | 分析 |
对象.stop() | 表示将线程直接终止。(已过时,不安全;如果有正在打开的资源未关闭,而线程直接被关闭) | 略 |
Thread.sleep() | 表示该语句写到哪个线程中,当前线程睡眠。该方法有两个重载的形式,分别是sleep(long)和sleep(long,int) | 略 |
二、线程控制基本方法
方法 | 描述 | 详解 |
isAlive() | 测试线程是否处于活动状态 | 略 |
getPriority() | 更改线程的优先级 | 分析 |
setPriority() | 返回线程的优先级 | 分析 |
Thread.sleep() | 将当前线程睡眠,可指定毫秒数或者毫秒及纳秒数 | 略 |
join() | 调用某线程的该方法,将当前线程与该线程”合并“,即等待该线程结束,在恢复当前线程的运行。 | 分析 |
yield() | 让出CPU,当前线程进入就绪队列等待调度。只要在适当的位置调用即可。 | 略 |
wait() | 当前线程进入对象的wait pool。 | 分析 |
notify() /notifyAll() |
唤醒对象的wait pool中的一个/所有等待线程。 | 分析 |
说明:后续章节将针对不同方法分别进行详细整理。
注:本文源自互联网,经过查阅网上资料整理而成,如涉及到他人整理的成果,在此表示感谢。由于涉及到的参考文章比较多,在此就不再一一列举。
本文是目前个人理解的结果,仅供参考,如后续发现问题,本人会进行相应的更正,也欢迎各位对Java线程感兴趣的朋友或者前辈进行指正。
相关推荐
学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...
CoreJava DAY08 常用类 56 CoreJava DAY09 高级语言特征 58 CoreJava DAY10 主方法,静态导入,包装类,枚举 62 CoreJava DAY11 内部类 70 CoreJava DAY12 集合 List 78 CoreJava DAY13 集合 Set 85 CoreJava DAY14 ...
学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...
学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...
- 【Rxjava的学习笔记】在[com.gradle.java.rxjava](/tree/master/src/main/java/com/gradle/java/rxjava)包名下; - 【LeetCode源码及题解】在[com.gradle.java.leetcode](/tree/master/src/main/java/...
**笔记持续更新中!喜欢的话,可以给个 star 噢 ~~** 面向后端开发攻城狮 各种基础知识,包括计组、计网、Java、MySQL、Redis、k8s、zk 等等 操作系统 数据结构 Linux运维 P8架构 面试题汇总 目录 :面向对象,集合...
学习资料汇总 工程技巧 操作系统 算法与数据结构 设计模式 程序 C ++ 书 cmake STL 基础 多线程 泛型编程 测试 网络编程 配置 吉特 高朗 Java 虚拟机 资源 分片球 弹簧 springcloudGateway 专栏 分散...
学习版本完善工具Gradle以及Java知识 通知公告:项目升级改造,本项目地址迁移到之后,Gradle-demo依旧会更新。但是GradleModular项目更加详细,采用多模块工程划分的方式构建。 项目合伙 Java基础的面向对象基本...
Android 学习笔记之 SQLite基础用法 如何充分利用 Windows Phone 高清屏幕 【cocos2d-x 手游研发----博彩大转盘】 后端架构 回顾2013:HBase的提升与挑战 memcached(十七)协议命令格式 nginx大流量负载调优 12306...
左程云leetcode 基础知识的实现: 1. labuladong_learn 是对labuladong一书学习的笔记和算法实现 2. leetcode 是对leetcode上的题目的学习和解答 3. 左程云算法课 ...对java基础中的多线程知识进行学习记录
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...