news 2026/6/15 15:44:14

Java 线程知识点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java 线程知识点

Java线程是Java并发编程的核心,内容非常丰富且重要。这里为你梳理一个系统性的知识图谱和关键点详解,无论是面试还是日常开发都很有用。

---

一、Java线程的创建与管理

1. 创建线程的三种核心方式

· 继承 Thread 类

```java

class MyThread extends Thread {

@Override

public void run() {

// 线程执行体

}

}

// 启动:new MyThread().start();

```

· 缺点:Java是单继承,限制了扩展性。

· 实现 Runnable 接口(最推荐)

```java

class MyRunnable implements Runnable {

@Override

public void run() {

// 线程执行体

}

}

// 启动:new Thread(new MyRunnable()).start();

```

· 优点:任务与线程分离,可以复用 Runnable 对象,更灵活。

· 实现 Callable 接口(带返回值)

```java

class MyCallable implements Callable<String> {

@Override

public String call() throws Exception {

// 线程执行体

return "结果";

}

}

// 配合线程池或FutureTask使用

```

· 与 Runnable 的关键区别:call() 方法有返回值,可以抛出受检异常。

· 通常与 ExecutorService、Future/FutureTask 结合使用。

2. 线程的生命周期(状态)

通过 Thread.getState() 获取,对应 Thread.State 枚举:

1. NEW: 已创建但未启动 (start() 未调用)。

2. RUNNABLE: JVM中正在执行或等待操作系统资源(如CPU)。对应操作系统层面的 Ready 和 Running 状态。

3. BLOCKED: 等待监视器锁(synchronized) 进入同步块/方法。(仅针对synchronized)

4. WAITING: 无限期等待,直到被其他线程显式唤醒。调用以下方法会进入此状态:

· Object.wait() (需先获得锁)

· Thread.join() (等待目标线程终止)

· LockSupport.park()

5. TIMED_WAITING: 带超时时间的等待。如 Thread.sleep(long)、Object.wait(long)、Thread.join(long)。

6. TERMINATED: 线程执行完毕。

重要区别:BLOCKED vs WAITING/TIMED_WAITING

· BLOCKED 是因为锁竞争,是被动的。

· WAITING 是线程主动调用方法进入的等待。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:31:03

CyberdropBunkrDownloader:批量下载Cyberdrop和Bunkr文件的终极指南

CyberdropBunkrDownloader&#xff1a;批量下载Cyberdrop和Bunkr文件的终极指南 【免费下载链接】CyberdropBunkrDownloader Simple downloader for cyberdrop.me and bunkrr.sk 项目地址: https://gitcode.com/gh_mirrors/cy/CyberdropBunkrDownloader 你是否曾经需要从…

作者头像 李华
网站建设 2026/6/14 14:39:39

VSCode日志分析实战(量子算法性能瓶颈的4个信号)

第一章&#xff1a;VSCode日志分析与量子算法性能监控概述在现代软件开发与科研计算融合的背景下&#xff0c;集成开发环境&#xff08;IDE&#xff09;不仅承担代码编写任务&#xff0c;更成为复杂算法调试与系统行为分析的核心平台。Visual Studio Code&#xff08;VSCode&am…

作者头像 李华
网站建设 2026/6/15 10:29:10

NarratoAI:零基础也能制作专业级视频解说的智能工具

NarratoAI&#xff1a;零基础也能制作专业级视频解说的智能工具 【免费下载链接】NarratoAI 利用AI大模型&#xff0c;一键解说并剪辑视频&#xff1b; Using AI models to automatically provide commentary and edit videos with a single click. 项目地址: https://gitcod…

作者头像 李华
网站建设 2026/6/15 5:34:44

MikroTikPatch终极指南:轻松管理RouterOS 7.19.1 arm64版本

MikroTikPatch终极指南&#xff1a;轻松管理RouterOS 7.19.1 arm64版本 【免费下载链接】MikroTikPatch 项目地址: https://gitcode.com/gh_mirrors/mikr/MikroTikPatch MikroTikPatch是一个专注于MikroTik RouterOS系统补丁和版本管理的开源项目&#xff0c;为网络管理…

作者头像 李华
网站建设 2026/6/15 10:27:57

MediaMux视频处理终极指南:Windows平台免费全能解决方案

还在为复杂的视频格式转换而头疼吗&#xff1f;MediaMux是一款基于FFmpeg的Windows视频处理工具&#xff0c;专门解决视频格式转换、封装、分割、合并等常见需求。这款免费工具集成了专业级视频处理功能&#xff0c;却提供了极其友好的图形界面&#xff0c;让普通用户也能轻松完…

作者头像 李华
网站建设 2026/6/15 7:13:17

PS4存档管理终极解决方案:Apollo Save Tool完全指南

PS4存档管理终极解决方案&#xff1a;Apollo Save Tool完全指南 【免费下载链接】apollo-ps4 Apollo Save Tool (PS4) 项目地址: https://gitcode.com/gh_mirrors/ap/apollo-ps4 作为一名PS4玩家&#xff0c;你是否曾经历过这样的绝望时刻&#xff1f;奋战数十小时的游戏…

作者头像 李华