线程的执行原理
分析:
- 时间片:即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的核心概念,特别是面向对象编程和集合框架。以下是对每个文件内容的详细阐述: 1. **Day0804_HashMap的基本使用.docx**:HashMap是Java集合框架中的一个重要组件,它提供了键值对的...
### Java分布式应用学习笔记05多线程下的并发同步器 #### 1. 前言 在现代软件开发中,特别是在分布式系统和高性能计算领域,有效地管理多线程之间的协同工作至关重要。Java语言提供了丰富的工具和API来帮助开发者...
本篇学习笔记将重点涵盖Java SE的基础、面向对象编程、I/O(输入/输出)、反射机制、常用类的运用、正则表达式以及Socket编程等核心概念。 1. **Java基础**:Java的基础语法包括变量、数据类型、运算符、流程控制...
Java架构面试专题汇总,是Java开发者在求职过程中必备的学习资源,涵盖了从基础到高级的各种面试题目及答案,旨在帮助求职者提升技术能力,顺利通过面试。这个压缩包包含的学习笔记和习题集全面覆盖了Java架构师所需...
本文将深入探讨Java JDK 5.0中的关键知识点,包括其主要特性、学习方法、环境配置以及核心概念。 一、Java JDK 5.0的主要特性 1. 自动装箱与拆箱:Java 5.0引入了自动装箱和拆箱机制,使得基本类型和它们对应的...
### Java知识点汇总学习路线与笔记 #### 一、J2SE **面向对象**是Java的核心,主要包括**封装**、**继承**、**多态**三个特性。通过封装,可以隐藏对象的内部实现细节;继承使得类之间的代码复用成为可能;而多态则...
这篇博客笔记集合涵盖了IT行业的多个重要领域,包括Java编程、多线程与并发处理、数据结构、Android开发、设计模式以及算法。以下是这些主题的详细解释: 1. **Java基础**:Java是一种广泛使用的面向对象的编程语言...
这份"Java学习笔记"涵盖了从基础到高级的多个Java知识点,旨在帮助开发者深入理解并掌握这门语言。 首先,Java的基础部分包括语法基础和数据类型。在Java中,变量必须先声明后使用,有基本数据类型(如整型、浮点型...
Java架构面试专题汇总,是Java开发者在求职或者晋升过程中必须面对的重要环节。这份资源包含了详细的面试问题和答案,以及相关的学习笔记,旨在帮助Java工程师更好地准备面试,提升自身的技术素养。下面,我们将深入...
学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...
本Java笔记超级汇总旨在为初学者提供全面的学习资源,帮助他们快速掌握Java的核心概念和实践技巧。 1. **基础语法** - 变量与数据类型:Java支持基本数据类型如整型、浮点型、字符型和布尔型,以及引用数据类型如...
在Java并发编程中,`AbstractQueueSynchronizer`(AQS)是一个重要的基础工具,它是J.U.C(Java Util Concurrency)包下的抽象类,用于构建锁和其他同步组件。AQS的核心是一个整型的`state`变量,用于表示同步状态。...
CoreJava DAY08 常用类 56 CoreJava DAY09 高级语言特征 58 CoreJava DAY10 主方法,静态导入,包装类,枚举 62 CoreJava DAY11 内部类 70 CoreJava DAY12 集合 List 78 CoreJava DAY13 集合 Set 85 CoreJava DAY14 ...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了在Java相关的面试和笔试中取得成功,了解并掌握一系列关键..."JAVA笔试题汇总"中的题目覆盖了以上所有方面,是学习和复习的绝佳资料。
学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...
学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...
技术博客笔记大汇总,包括Java基础,线程,并发,数据结构;.zip
根据提供的文件信息,标题、描述和标签均指出这是一份关于Java的知识汇总。然而,部分内容似乎是乱码,并没有提供实际的Java知识点。尽管如此,我将尝试基于标题和描述给出一份详细的Java知识点概述。 ### Java基础...